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

Calculating number of days that occur between two Dates

本文关键字:之间 日期 两个 计算      更新时间:2023-09-26

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

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

日期 1: 六月 26th 2012 11:05 下午

日期 2: 六月 27th 2012 12:15 上午

我使用以下代码行:

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

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

删除日期的时间部分,然后进行日期减法。请参阅此 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);

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

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