计算momentjs出错的天数

时间:2016-12-11 17:00:38

标签: javascript momentjs

我想计算两个日期对象之间的天数。我发现了一些有线结果,所以我只是通过自己减去当前日期进行测试,结果预期为0,但它返回4,我无法解释。

我使用momentjs已经有很长一段时间了。我信任图书馆及其结果。代码有什么问题?

var now = new Date();
var diff = moment(now - now).days();
console.log(diff);
console.log(now - now);
<script src="http://momentjs.com/downloads/moment.min.js"></script>

更新#1:真的很抱歉这个愚蠢的问题。正确的格式应该是

var diff = moment.duration(now - now).days();

2 个答案:

答案 0 :(得分:3)

由于0返回moment(0) // "Thu Jan 01 1970 02:00:00 GMT+0200" .days() // 4 is for Thursday ,您的代码等同于:

moment.diff()

最好使用var d1 = new Date(), d2 = new Date(); var differenceInDays = moment(d1).diff(d2, 'days'); // 0, obviously 来区分两个日期:

{{1}}

请参阅Documentation

答案 1 :(得分:2)

这是一周中的4天

new Date(0) => Thu Jan 01 1970 06:00:00 GMT+0600 // my local timezone