计算两个日期之间发生的天数

时间:2012-06-26 19:26:53

标签: javascript date timestamp timespan

我正在寻找JavaScript中以下问题的最简洁的解决方案:

我想确定JavaScript中两个日期之间发生的天数。我不是在寻找天数的日期差异,例如:

日期1:2012年6月26日晚上11:05

日期2:2012年6月27日上午12:15

我使用的是以下代码行:

var days = Math.ceil((date2 - date1) / 86400000);

我的结果是1,我希望它是2(计算6月26日和6月27日)

2 个答案:

答案 0 :(得分:3)

删除日期的时间部分,然后进行日期减法。请参阅this jsfiddle或下面的代码段。

var d1 = new Date('June 26th 2012 11:05 PM'.replace('th',''));
var d2 = new Date('June 27th 2012 12:15 AM'.replace('th',''));

// remove the time portion, set the dates to midnight
d1.setHours(0,0,0,0);
d2.setHours(0,0,0,0);

var diff = Math.ceil((d2 - d1) / 86400000) + 1;

console.log(diff);

答案 1 :(得分:1)

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

将小时,分钟,秒和毫秒设置为零。现在你有两个同一时间的日期。现在,您可以按照自己的方式进行操作并获得正确答案。