繁体   English   中英

JavaScript日期减去小时数-错误

[英]javascript date subtract hours - Error

我正在尝试从当前日期中减去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()的效果,夏时制的结果要少一小时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM