gpt4 book ai didi

javascript - 有没有一种方法可以从适用于所有浏览器的 ISO 8601 日期创建 JavaScript 日期实例?

转载 作者:行者123 更新时间:2023-11-30 07:08:19 24 4
gpt4 key购买 nike

当我尝试使用 FireFox(和 IE)从 ISO 8601 日期创建 JavaScript 日期实例时,我得到“无效日期”:

var d = new Date('2015-05-05Z');
alert(d); // Invalid Date

但在 Chrome 中一切正常:

var d = new Date('2015-05-05Z');
alert(d); // Tue May 05 2015 01:00:00 GMT +0100 (BST)

演示: https://jsfiddle.net/z50LL4he/

有没有一种方法可以从在 FireFox 中工作的 ISO 8601 日期创建 JavaScript 日期实例?请注意,我试图在不使用 momentjs 等库的情况下执行此操作。

引用:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

最佳答案

日期字符串末尾的“Z”是时区指示符。由于您提供的不是时间而是日期和时区,因此会导致某些浏览器出现错误 - 这不是有效的 ISO 8601 日期

由于 Chrome/Safari 似乎实际上会返回一个可用日期而 Firefox/IE 不会,我们至少可以设置一些错误处理来检测日期是否正确输出并进行相应处理。

在 FireFox 中,如果我们将无效的日期字符串传递给 isNaN() 函数,它会返回 true。知道我们可以这样说:

if(isNaN(date)){
//handle the error appropriately
}
else{
//carry on like nothing happened
}

关于javascript - 有没有一种方法可以从适用于所有浏览器的 ISO 8601 日期创建 JavaScript 日期实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30064561/

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