如何计算两个日期之间的天数?
这个问题在这里已经有了答案:
var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var firstDate = new Date(2008,01,12);
var secondDate = new Date(2008,01,22);
var diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)));
这是一个这样的功能:
function days_between(date1, date2) {
// The number of milliseconds in one day
var ONE_DAY = 1000 * 60 * 60 * 24
// Convert both dates to milliseconds
var date1_ms = date1.getTime()
var date2_ms = date2.getTime()
// Calculate the difference in milliseconds
var difference_ms = Math.abs(date1_ms - date2_ms)
// Convert back to days and return
return Math.round(difference_ms/ONE_DAY)
}
这是我使用的。 如果您只是减去日期,它将不会跨越夏令时边界(例如4月1日至4月30日或10月1日至10月31日)。 这可以减少所有的时间,以确保您获得一天的时间并通过使用UTC消除任何DST问题。
var nDays = ( Date.UTC(EndDate.getFullYear(), EndDate.getMonth(), EndDate.getDate()) -
Date.UTC(StartDate.getFullYear(), StartDate.getMonth(), StartDate.getDate())) / 86400000;
链接地址: http://www.djcxy.com/p/36709.html
上一篇: How to calculate the number of days between two dates?
下一篇: How do I get the number of days between two dates in JavaScript?