我想计算两个日期对象之间的天数。我发现了一些有线结果,所以我只是通过自己减去当前日期进行测试,结果预期为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();
答案 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}}
答案 1 :(得分:2)
这是一周中的4天
new Date(0) => Thu Jan 01 1970 06:00:00 GMT+0600 // my local timezone