在Javascript中计算日期差异的最佳方法是什么

时间:2008-11-29 11:04:34

标签: javascript

我在Javascript中执行函数,如VisualBasic DateDiff。

您提供两个日期和返回时间间隔(秒,分钟,天等等)

DateDiff(ByVal Interval As Microsoft.VisualBasic.DateInterval, _
  ByVal Date1 As Date, ByVal Date2 As Date) as Long

那么计算Javascript日期差异的最佳方法是什么?

2 个答案:

答案 0 :(得分:53)

像这样使用Date object

function DateDiff(var /*Date*/ date1, var /*Date*/ date2) {
    return date1.getTime() - date2.getTime();
}

这将返回两个日期之间的毫秒数差异。将它转换为秒,分钟,小时等应该不会太困难。

答案 1 :(得分:5)

如果你遵循这个tutorial,一种方法是使用:

Date.getTime()

您会找到完整的javascript function here,并附上日期验证。

话虽如此,正如Rafi B. 5年后评论的那样,“Get difference between 2 dates in 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);
}