簡體   English   中英

JavaScript日期對象因格式而異:yyyy-mm-dd與mm-dd-yyyy

[英]Javascript Date object different depending on format: yyyy-mm-dd vs mm-dd-yyyy

另一個JavaScript日期難題...

根據傳遞給Date構造函數的格式,我得到了兩個完全不同的Date對象(Date.parse()也產生不同的結果)。

例:

新日期('04 -27-2016'); => 2016年4月27日,星期三00:00:00 GMT-0500(中央夏令時)

Date.parse('04 -27-2016' ); => 1461733200000

VS

新日期('2016-04-27'); 2016年4月26日19:00:00 GMT-0500(中央夏令時)

Date.parse('04 -27-2016' ); => 1461715200000

我可以在代碼中輕松解決這種情況,但是我想解釋一下為什么/如何做它所做的事情。

在第二個示例中使用的ISO格式將UTC作為其默認時區。 在MDN上對此進行了描述。 如果您想要此格式的正確行為,則必須添加有關時區的信息: new Date('2016-04-27 GMT-0500'); 或者您還必須指定時間: new Date('2016-04-27 00:00:00');

我認為最好不要使用內置的解析器,而應使用一些庫。 例如Moment.js很棒。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM