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

标签 javascript parsing date time compare

好吧,我想做的是获取两个不同日期之间的时间值。

例如:

date1 = 3/2/2014 - 14:12

date2 = 4/2/2014 - 16:22

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

我已经查看了解析方法,如果我理解正确,我想我可以通过执行以下操作来实现该功能:

myDate = date1;

myDate.parse(date2);

然后将输出转换为我想要的输出方式,但我还没有看到任何将一天中的时间考虑在内的示例。

最佳答案

您只需将两个 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/ (还包括时间格式)

关于Javascript 获取两个日期之间的时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21369162/

相关文章:

javascript - 无法使用点或方括号表示法来访问 json/javascript 对象中的键或数据,该对象在获取后保存到状态

java - 解析特定格式的字符串

java - 如何使用jackson将xml解析为json

mysql - CURRENT_DATE/CURDATE() 不能作为默认 DATE 值工作

javascript - ExpressJS 接收 JSON 字符串但缺少某些部分

javascript - Chrome 扩展显示 "Wants access to this site"

powershell - 使用 AST 解析 PowerShell 脚本

oracle - 根据一天中的时间进行选择

java - 检查变量值的日期

javascript - 微调 megamenu 的 jQuery 要求