我正在编写一个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"