gpt4 book ai didi

javascript - Date 构造函数的 timeStamp 参数中的时区导致 'invalid date' 错误

转载 作者:行者123 更新时间:2023-12-01 02:27:59 25 4
gpt4 key购买 nike

尝试创建日期,将时间戳提供给 Date() 构造函数(下面的片段) - 第一次调用有效,但每当指定时区时第二次调用都会抛出(“无效日期”)错误 - 如何纠正此问题?

var date1 = new Date('Dec 17, 1995 03:24:00 AM EST'); //<---- THIS WORKS!!!
console.log(date1)
// Sun Dec 17 1995 03:24:00 GMT...

var date2 = new Date('1995-12-17T03:24:00 EST'); //<---- THIS DOES NOT WORK!!!
console.log(date2)

输出:

> Sun Dec 17 1995 13:54:00 GMT+0530 (India Standard Time)
> Invalid Date
> false
> NaN

这不是重复问题,因为与建议的重复问题不同,请求从时间戳馈送到构造函数进行初始化。

最佳答案

您在参数中提供了错误的格式。

新日期('1995-12-17T03:24:00 EST');

出了什么问题

您在日期构造函数中提供的格式是标准格式,称为 ISO_8601 。根据标准,您不能像您那样提供时区偏移。

正确方法

如果所描述的时间比 UTC 早一小时(例如冬季柏林的时间),则时区指示符将为“+01:00”;

新日期('1995-12-17T03:24:00+01:00');

如果所描述的时间比 UTC 晚一小时,则时区指示符将为“+01:00”;

新日期('1995-12-17T03:24:00-01:00');

以下均指同一时间“18:30Z”、“22:30+04”、“1130−0700”和“15:00−03:30”。

关于javascript - Date 构造函数的 timeStamp 参数中的时区导致 'invalid date' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48577015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com