我在 Chrome JS 控制台中尝试了这个,我的语言环境时区设置为 PST:
(new Date("07-15-2005"))
=> 2005 年 7 月 15 日星期五 00:00:00 GMT-0700 (PDT)
(new Date("07-15-2005")).getTime();
=> 1121410800000
但....
(new Date("2005-07-15"))
=> 2005 年 7 月 14 日星期四 17:00:00 GMT-0700 (PDT)
(new Date("2005-07-15")).getTime();
=> 1121385600000
我期待在两者中都会发生字符串解析。但我不明白为什么在使用格式 YYYY-MM-DD 时,它假定时区偏移。就好像我在本地 TZ 中表示“2005-07-15”,但在 UTC 中表示“07-15-2005”。
是正确的解释吗?