Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中带有时间戳的两个日期之间的差异_Javascript_Date_Timestamp - Fatal编程技术网

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

javascript中带有时间戳的两个日期之间的差异,javascript,date,timestamp,Javascript,Date,Timestamp,我有两个日期,格式为YYYY-MM-DD HH:MI:SS。 我想计算两个日期之间的差异,并将其添加到另一个日期,该日期也是上述格式。 请给我一个解决方案。以下是一个示例: 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 d

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

以下是一个示例:

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的值将是两个日期之间的差值(以毫秒为单位)

因为Firefox无法解析2014-05-03 14:00:00它返回NaN,所以需要替换“”和“T”部分。因此,在将其传递到新日期之前,需要将该值转换为2014-05-03T14:00:00

编辑:要将此差异添加到第三个日期,可以使用和功能:

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

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

console.log(date3);

查看它。

你尝试过什么吗?你应该阅读并通过添加你已经尝试过的内容来改进你的问题。有趣的是,你不需要date.getTime。日期-1+1将为您带来新纪元。把它放在一起,你可以创建这样一个可怕的代码:newdatedate3-1+1+date2-date1。我假设它们的使用顺序正确,所以我不需要Math.abs。这适用于当前的Chrome和Firefox: