Javascript获取2个日期之间的时差

时间:2014-01-26 21:02:50

标签: javascript parsing date time compare

好的,我要做的是获取2个不同日期之间的时间值。

例如:

date1 = 3/2/2014 - 14:12

date2 = 4/2/2014 - 16:22

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

我已经看过解析方法,如果我理解正确的话,我想我可以通过做类似的事情来完成这项工作:

myDate = date1;

myDate.parse(date2);

然后将输出转换为我想要的输出,但是我没有看到任何需要考虑时间的示例。

2 个答案:

答案 0 :(得分:0)

您可以使用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才能在几秒钟内得到结果。

答案 1 :(得分:0)

您只需要减去两个Date对象以获得差异,因为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/(还包括时间格式)