猿问

用JavaScript计算日期差异的最佳方法是什么

我在Java中做一个函数,例如VisualBasic DateDiff。


您给出两个日期和返回时间间隔(秒,分钟,天等)。


DateDiff(ByVal Interval As Microsoft.VisualBasic.DateInterval, _

  ByVal Date1 As Date, ByVal Date2 As Date) as Long

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


慕容森
浏览 251回答 3
3回答

一只名叫tom的猫

像这样使用Date对象:function DateDiff(var /*Date*/ date1, var /*Date*/ date2) {    return date1.getTime() - date2.getTime();}这将返回两个日期之间的毫秒数差。将其转换为秒,分钟,小时等并不难。

四季花海

如果您遵循本教程,一种方法是使用:Date.getTime()您将在此处找到完整的javascript函数,并带有日期验证。话虽如此,如Rafi B.所评论的那样。 5年后,“ 在javascript中2个日期之间是否有区别? ”更为精确。var _MS_PER_DAY = 1000 * 60 * 60 * 24;// a and b are javascript Date objectsfunction 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);}

慕田峪4524236

var start = new Date(“ 2016-12-24 14:00”); var end = new Date(“ 2016-12-24 23:59”); var diffMs =(end.getTime()-start.getTime()); //从现在到圣诞节之间的毫秒数var diffDays = Math.round(diffMs / 86400000); //天var diffHrs = Math.round((diffMs%86400000)/ 3600000); //小时ar diffMins = Math.round((((diffMs%86400000)%3600000)/ 60000); //分钟console.log(diffHrs); 它返回10:59hour,它可以正常工作到23:00。发生什么问题了。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答