JavaScript setUTCHours 返回错误的日期

标签 javascript date

当我注意到 setUTCHours() 返回错误的日期时,我在学习期间一直在摆弄 Date() 对象。

例子:

var myDate = new Date(2014, 0, 1);
myDate.setUTCHours(10);
myDate;

看着这个,我预计日期是 2014 年 1 月 1 日星期三 10:00:00 UTC,但它晚了一天。这是为什么?

这是我的 http://jsfiddle.net/L5QEC/与其他一些基本方法的比较。

最佳答案

日期对象使用 time value那是UTC。他们还有一个 offset表示主机系统的时区偏移量。默认情况下,日期和时间将使用偏移量来显示本地值。如果您是 UTC+1,则偏移量将为 -60,new Date(2014, 0, 1) 将为 2013-12-31T23:00:00Z 创建一个日期code> 并使用偏移量显示本地日期 2014-01-01T00:00:00+0100

因此,如果您将 UTC 时间更改为 10,则 UTC 时间为:2013-12-31T10:00:00Z 本地等效时间为 2013-12-31T11:00: 00+0100.

因此,通过将 UTC 时间设置为 10,您实际上将本地时间设置为前一天的 11:00(即 UTC 时间 + 1 小时偏移量)。

关于JavaScript setUTCHours 返回错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23281932/

相关文章:

javascript - 如何在angularjs中对json数据进行分组

javascript - 使用 for 循环的冒泡排序无法按预期工作

PHP和MYSQL根据日期查找记录

java - 如何将java时间转换为oracle表中的日期?

excel - VBA日期+逻辑

string - Stata:如何将字符串变量更改为日期?

javascript - 服务器上的 Date.now() 相对于客户端提前?

javascript - 对 Django 服务器的简单 Ajax 调用导致响应时间很慢 - 慢 TTFB

javascript - Play Websocket 连接已关闭

Linux 日期 : invalid date