我正在使用moment.js来查找两个间隔之间的时差。
这是我的JS代码:
console.log("from_url "+from_url); //prints: 2016-05-03T10:00:00
var a = moment(from_url);
console.log("a "+a); //prints : 1462294800000 isntead of 2016-05-03T10:00:00
因此,我无法得到确切的区别。 任何人都可以建议我哪里出错了? 感谢。
答案 0 :(得分:1)
当您使用+将时刻对象转换为基元时,Object.prototype.valueOf()
已被覆盖以产生以毫秒为单位的unix时间戳 - 或者ES2015标准所指的时间值'。因此,您看到的是打印出来的值。
如果您想要日期,只需使用.format()
:
var a = moment("2016-05-03T10:00:00"); "a " + a.format()
"a 2016-05-03T10:00:00-05:00"
请注意,格式需要多个参数:http://momentjs.com/docs/#/displaying/format/
至于找到两个日期和时间之间的差异 - 你应该构建两个时刻并使用时刻.diff()
函数进行比较:http://momentjs.com/docs/#/displaying/difference/
例如,要获得日期与现在之间的小时数差异:
moment("2016-05-03T10:00:00").diff(moment(), 'hours')
-155