当使用momentjs diff函数将今天和明天的日期(4月17日和18日)与当前时刻(对我来说是4月17日)进行比较时,计算出的天数均为0。
为什么会这样?如何获得更明智的结果呢?
function daysRemaining(eventdate) {
var eventdatemoment = moment(eventdate);
var todaysdate = moment();
return eventdatemoment.diff(todaysdate, 'days');
}
console.log(daysRemaining('2015-04-16'));
console.log(daysRemaining('2015-04-17'));
console.log(daysRemaining('2015-04-18'));
console.log(daysRemaining('2015-04-19'));
给出结果:
-1
0
0
1
http://jsfiddle.net/ue110atu/1/
最佳答案
function daysRemaining(eventdate) {
var eventdatemoment = moment(eventdate);
// Remove hours, minutes, seconds, etc. from today's date.
var todaysdate = moment().startOf('day');
return eventdatemoment.diff(todaysdate, 'days');
}
console.log(daysRemaining('2015-04-16'));
console.log(daysRemaining('2015-04-17'));
console.log(daysRemaining('2015-04-18'));
console.log(daysRemaining('2015-04-19'));
关于javascript - 比较日期临近时,瞬间diff出乎意料的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29688098/