我正在Javascript中编写一个类似于VisualBasic的DateDiff函数。
您提供两个日期和返回的时间间隔(秒,分钟,天等)
DateDiff(ByVal Interval As Microsoft.VisualBasic.DateInterval, _
ByVal Date1 As Date, ByVal Date2 As Date) as Long
那么计算JavaScript日期的差异的最佳方法是什么?
我正在Javascript中编写一个类似于VisualBasic的DateDiff函数。
您提供两个日期和返回的时间间隔(秒,分钟,天等)
DateDiff(ByVal Interval As Microsoft.VisualBasic.DateInterval, _
ByVal Date1 As Date, ByVal Date2 As Date) as Long
那么计算JavaScript日期的差异的最佳方法是什么?
像这样使用Date对象:
function DateDiff(var /*Date*/ date1, var /*Date*/ date2) {
return date1.getTime() - date2.getTime();
}
这将返回两个日期之间的毫秒差异。将其转换为秒、分钟、小时等应该不太困难。
如果你遵循这个教程,其中一种方法是使用:
Date.getTime()
您可以在此处找到完整的JavaScript函数,包括日期验证。
话虽如此,正如Rafi B.在5年后所评论的,“在JavaScript中获取两个日期之间的差异?”更为精确。
var _MS_PER_DAY = 1000 * 60 * 60 * 24;
// a and b are javascript Date objects
function dateDiffInDays(a, b) {
// Discard the time and time-zone information.
var utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());
var utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());
return Math.floor((utc2 - utc1) / _MS_PER_DAY);
}