Javascript 新日期(';yyyy-mm-dd';)将时区设置为本地时区,但新日期(';yyyy-mm-dd';)将时区设置为GMT

Javascript 新日期(';yyyy-mm-dd';)将时区设置为本地时区,但新日期(';yyyy-mm-dd';)将时区设置为GMT,javascript,date,datetime,Javascript,Date,Datetime,新日期('yyyy-mm-dd')将时区设置为本地时区,但 新日期('yyyy-mm-dd')将时区设置为GMT new Date("2019-05-29") Wed May 29 2019 05:30:00 GMT+0530 (India Standard Time) new Date("11111-05-29") Mon May 29 11111 00:00:00 GMT+0530 (India Standard Time) 为什么会发生这种行为您的第一个行为是创建UTC日期,但您正在

新日期('yyyy-mm-dd')将时区设置为本地时区,但 新日期('yyyy-mm-dd')将时区设置为GMT

new Date("2019-05-29")
Wed May 29 2019 05:30:00 GMT+0530 (India Standard Time)

new Date("11111-05-29")
Mon May 29 11111 00:00:00 GMT+0530 (India Standard Time)


为什么会发生这种行为

您的第一个行为是创建UTC日期,但您正在本地时区中显示它。从

对ISO 8601格式的支持不同之处在于,仅日期字符串(例如“1970-01-01”)被视为UTC,而不是本地字符串

正在本地时区中创建您的第二个日期。原因是(默认情况下),因此不符合上述条件。

请参阅