我需要用 6 位小数计算两个日期之间的天数。我正在使用以下功能:
/**
* Calculates the day difference for two given dates.
*
* @param {Date} from , the start date
* @param {Date} to , the end date
*
* @return {Number} the day difference
*/
function calculateDayDifference( from, to ) {
var dayDifference;
const ONEDAY = 1000 * 60 * 60 * 24;
if ( from != null && to != null ) {
dayDifference = Math.abs( from - to ) / ONEDAY;
}
return dayDifference;
}
问题是,以下示例的计算不正确:
- 从23.10.2013 10:00到01.11.2013 00:00
它返回8.625,但正确的值是8,583333。这个错误值与正确值相差 1 小时。
在以下情况下:
- 从01.11.2013 00:00到07.11.2013 10:00
返回值6,416667是正确的。