JavaScript UTC日期

时间:2015-04-22 13:21:33

标签: javascript

我尝试获得UTC日期。为什么

(new Date("2015-04-22")).getUTCDate() = 22

(new Date("Apr 22, 2015")).getUTCDate() = 21

1 个答案:

答案 0 :(得分:2)

引用MDN关于Date.parse的工作方式(由new Date("string")调用):

  

Differences in assumed time zone

     

如果日期字符串为"March 7, 2014"parse()会假定为当地时区,但如果采用"2014-03-07"这样的ISO格式,则会假设   UTC的时区。因此使用这些生成Date对象   字符串将代表不同的时刻,除非系统是   使用UTC的本地时区进行设置。这意味着两个日期字符串   看似等效的可能会导致两个不同的值取决于   正在转换的字符串的格式(此行为是   在ECMAScript ed 6中进行了更改,以便将两者视为本地

留意我在最后一行突出显示的警告