我试图从当前日期减去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)**
不到两个小时而不是一个小时。我在这里缺少什么?
答案 0 :(得分:1)
以相同格式查看元素时,您的代码可以正常工作。
<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
答案 1 :(得分:0)
你不需要.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
答案 2 :(得分:0)
原因似乎是夏令时check this my fiddle。
对于我来说,我在2015年3月29日时钟前进。在此日期之前和之后检查new Date().toISOString()
的影响,在夏令时期间,结果会减少一个小时。