簡體   English   中英

JS日期到ISO字符串異常行為

[英]JS Date to ISO String Strange behavior

new Date("2018-09-9").toISOString()

這給出了2018-09-09T04:00:00.000Z

在哪里

new Date("2018-09-19").toISOString()

給出"2018-09-19T00:00:00.000Z"

我來自美國,所以4:00:00似乎是正確的UTC時間,但是如果我提供大於9的任何日期,那么它會給出00:00:00時間嗎?

這是正確的行為。 請參閱Javacript日期參考: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

注意:由於瀏覽器的差異和不一致,強烈建議不要使用Date構造函數(和Date.parse,它們等效)來解析日期字符串。 僅按照約定,對RFC 2822格式字符串的支持。 對ISO 8601格式的支持的不同之處在於,僅日期字符串(例如“ 1970-01-01”)被視為UTC,而不是本地。

您的第二個版本使用的是ISO 8601格式YYYY-MM-DD格式,被視為UTC。 如果在第一個示例中使用2018-09-09而不是2018-09-9 ,它也將被視為UTC而不是本地時間。

暫無
暫無

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

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