理解日期字符串

时间:2016-06-09 20:22:20

标签: javascript date

所有

当我从字符串构建Date对象时:

var dt = new Date("2016-05-31 07:35:22+02:00");

我想知道那个字符串是什么意思?我认为这意味着它的地理当地时间是7:35:22而GMT是9:35:22,但是当我使用dt.toUTCString()时,我得到了

  

“星期二,2016年5月31日05:35:22 GMT”

,这太混乱了。我想知道哪一部分是错的?

由于

3 个答案:

答案 0 :(得分:1)

这意味着当前的当地时间是7:35:22,而且比GMT早2小时。

这就是为什么utc显示比时间提前两小时

答案 1 :(得分:1)

结束时+02:00表示您提供的时间比 UTC前<2>小时

因此,如果UTC是05:30,则UTC + 1是06:30,UTC + 2是07:30等

答案 2 :(得分:1)

+2:00部分告诉您此本地时间是在UTC时间前2小时的时区/ DST中。因此,您需要从此时间减去两个小时才能达到UTC时间。所以,07:35 + 2:00 = 05:35 + 0:00。这些价值根本没有错。

进一步阅读:

http://www.timeanddate.com/time/time-zones.html

http://www.w3schools.com/js/js_date_formats.asp

http://joshowens.me/dealing-with-timezones-in-javascript/