在 Javascript 中将 ISO 8601 字符串转换为当前时区日期时间对象



我正在编写一个NodeJS应用程序,该应用程序根据最近上传的YouTube视频发送通知。

我从 youtube 从 2015-06-10T20:18:45.000Z 获得这个 ISO 8601 格式字符串。该字符串是视频上传的时间。

怎样才能获取该字符串,将其转换为我本地时区的 Date 对象,获取时间。然后看看视频是从现在开始多久前上传的?

我基本上需要确切地知道视频是从现在开始上传的。如果有与我上面描述的方法不同的方法,那也很好。

我试过这个,但它不起作用 - 因为我相信时区差异

var temp_one = new Date('2015-06-10T20:18:45.000Z');
var temp_two = new Date();
var difference = temp_two - temp_one

您描述的内容确实有效 - 只要浏览器支持解析您提供的ISO8601格式字符串。 较旧的浏览器(如 IE8)不直接支持此功能。

difference 变量将返回自您提供的日期以来经过的毫秒数。 如果你想用其他单位,你可以相应地划分数字:

var seconds = difference / 1000;
var minutes = difference / 60000;
var hours = difference / 3600000;

如果你想要更精致的东西,你可以使用moment.js。

例如:

moment("2015-06-10T20:18:45.000Z").fromNow()  // "7 hours ago"

相关内容

  • 没有找到相关文章

最新更新