簡體   English   中英

在Javascript中使用新日期(“2014年8月11日”)和新日期(“2014-08-11”)的不同日期

[英]Different dates when used new Date(“2014 Aug 11”) and new Date(“2014-08-11”) in Javascript

new Date("2014 Aug 11")給出new Date("2014 Aug 11") Mon Aug 11 2014 00:00:00 GMT+0100 (GMT Daylight Time) ,這是正確的,但是

new Date("2014-08-11")給出Mon Aug 11 2014 01:00:00 GMT+0100 (GMT Daylight Time)

為什么這兩個日期有1小時的差異?

我試圖減去2個日期,如果兩個日期相同,則期望結果為“0”。 但在我上面的例子中,它不是零!

它在perfeclty解釋的MDN上的parse函數(其解析用於Date構造函數):

給定日期字符串“2014年3月7日”,解析假定為本地時區,但是給定ISO格式(例如“2014-03-07”),它將假定UTC的時區。 因此,使用這些字符串生成的Date對象將表示不同的時刻,除非系統設置了UTC的本地時區

GMT + 2的人會看到2小時的差異。

如果您無法正確解析日期,並且您對作為輸入的字符串類型有信心,則可能會強制使用時區:

var date = new Date(str+" UTC");

對於您的查詢,您可以嘗試這種新的Date()格式

新日期(“2014,08,11”)它給出2014年8月11日星期一00:00:00 GMT + 0100(GMT日光時間)。

暫無
暫無

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

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