javascript日期减去小时-错误

javascript date subtract hours - Error

本文关键字:错误 小时 日期 javascript      更新时间:2023-09-26

我正试图从当前日期减去1小时,我使用的代码是:

var date = new Date();
// date is **Fri Apr 03 2015 16:47:33 GMT+0100 (GMT Standard Time)**
var uploadDateFilter = new Date(new Date(date).setHours(date.getHours()-1)).toISOString();
//now date is **Fri Apr 03 2015 14:47:33 GMT+0100 (GMT Standard Time)**

只有一个小时,而不是两个小时。我在这里错过了什么?

您的代码在查看相同格式的元素时可以工作。

<div class="original"></div>
<div class="updated"></div>

使用jQuery发布信息。。。使用您的代码,按原样。

$(".original").text(date.toISOString());
$(".updated").text(uploadDateFilter);

结果在。。。

2015-04-03T16:00:23.441Z
2015-04-03T15:00:23.441Z

http://jsfiddle.net/rfornal/5nma5uhr/

您不需要.toISOString(),但对我来说它是有效的:

var date = new Date();
var uploadDateFilter = new Date(new Date(date).setHours(date.getHours()-1));
console.log(date);
console.log(uploadDateFilter);

控制台输出:

Fri, 03 Apr 2015 15:59:48 GMT
Fri, 03 Apr 2015 14:59:48 GMT

http://repl.it/gxL

原因似乎是夏令时检查我的小提琴。

对我来说,在英国,时钟是在2015年3月29日前拨的。在此日期前后检查new Date().toISOString()的效果,在夏令时期间,结果会减少一小时。