在JavaScript中计算date差异的最佳方法是什么?

我做了一个JavaScript的函数,如VisualBasic的DateDiff。

你给两个date和返回的时间间隔(秒,分,日等…)

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

那么计算Javascriptdate差异的最好方法是什么?

像这样使用Date对象 :

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

这将返回两个date之间的毫秒数差。 将其转换为秒,分钟,小时等不应太困难。

如果你按照这个教程 ,一种方法是使用:

 Date.getTime() 

您将在这里find一个完整的JavaScript函数 ,并附有datevalidation。

这就是说,正如Rafi B.所评论的,5年后,“ 在JavaScript中获取2个date之间的差异 ”更为精确。

 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); }