2016-12-13 97 views
0

在javascript中我想這Date.parse不工作

new Date(Date.parse("2016-12-15")); 

,並將其輸出的日期對象,但隨着日期Wed Dec 14 19:00:00 EST 2016。爲什麼預計十一月十五日的時候是十四歲?

感謝

+4

由於時區。它將日期解析爲UTC,但您位於EST,因此它顯示爲前一天。 –

+0

如何將它設置爲EST時區((UTC-05:00)東部時間(美國和加拿大))的時區? – omega

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse –

回答

0

您可以創建一個特定的UTC時間使用.Date.UTC()方法Date對象,但你必須單獨值傳遞:

new Date(Date.UTC(year, month, day, hour, minute, second));

更好,更安全的方法是使用moment.js

0

解析不解析你的約會一個可靠的方法...

在假定的時區

差異鑑於 「2014年3月7日」 的日期字符串,parse()假定本地時間爲 區域,但給定ISO格式(例如「2014-03-07」),它將假設UTC時間區域爲 (ES5和ECMAScript 2015)。因此使用這些字符串生成的日期對象 可能代表不同的時刻 ,具體取決於支持的ECMAScript版本,除非系統是使用UTC本地時區設置的 。這意味着兩個顯示等效的日期字符串 可能會導致兩個不同的值,具體取決於要轉換的字符串的格式。

- Source -

我想你應該得到的客戶端日期與它的時區,並使用圖書館像Moment.js正確地解析日期。