JavaScript获得2个日期之间的时间差



好吧,所以我要做的就是获得2个不同日期之间的时间值。

例如:

date1 = 3/2/2014 - 14:12
date2 = 4/2/2014 - 16:22

我如何获得date1和date2之间的时间差?(26小时,10分钟)< - 这将是我想要的完美输出。

我已经看了解析方法,如果我正确理解它,我认为我可以通过做类似的操作来做到这一点:

myDate = date1;
myDate.parse(date2);

然后将输出从那里转换为我想要的,但是我还没有看到任何示例需要一天的时间。

您只需要减去两个日期对象即可获得差异,因为JavaScript会自动将其转换为正确的类型:

date1 - date2  //difference in milliseconds

用于格式化,您可以设置与此类似的函数:

Number.prototype.format = function(){
    return [
        (this/86400|0), "days",
        (this/3600|0) % 24 , "hours",
        (this/60|0) % 60 , "minutes",
        (this|0) % 60 , "seconds"
    ].join(" ");
};
((date1 - date2)/1000).format();  //Formatted string

演示:http://jsfiddle.net/derekl/prb7j/(还包括时间格式)

您可以使用Date类,然后减去2个日期

var difference = ( new Date(2014, 2, 4, 16, 22, 0).getTime()
                   - new Date(2014, 2, 3, 14, 12, 0).getTime()
                 ) / 1000

getTime()为您提供毫秒的时间,因此您必须除以1000才能在几秒钟内获得结果。

相关内容

  • 没有找到相关文章

最新更新