[英]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.