javascript中带有时间戳的两个日期之间的差异

时间:2014-07-03 18:10:53

标签: javascript date timestamp

我有两个日期,格式为YYYY-MM-DD HH:MI:SS。 我想计算两个日期之间的差异,并将其添加到另一个日期,该日期也是上述格式。 请给我一个解决方案。

1 个答案:

答案 0 :(得分:1)

以下是如何操作的示例:

var date1 = "2014-06-01 14:00:00";
var date2 = "2014-06-02 14:00:00";

date1 = new Date(date1.replace(' ', 'T'));
date2 = new Date(date2.replace(' ', 'T'));

var diff = Math.abs(date2.getTime() - date1.getTime());
console.log(diff);

diff的值将是两个日期之间的差异,以毫秒为单位。

需要replace(' ', 'T')部分,因为Firefox无法解析2014-05-03 14:00:00(它返回NaN)。因此,在将值传递给2014-05-03T14:00:00之前,需要将值转换为new Date()

修改:要将此差异添加到第三个日期,您可以使用getTime()setTime()功能:

var date3 = "2014-06-03 14:00:00";

date3 = new Date(date3.replace(' ', 'T'));
date3.setTime(date3.getTime() + diff);

console.log(date3);

JSFiddle上查看。