解决 Safari 的“无效日期”问题
提供的代码片段,尝试从字符串表示创建 Date 对象,在 Safari 中遇到困难。这是由于浏览器无法正确解析某些日期格式。
最初,使用格式“YYYY-MM-DD”(例如“2010-11-29”)在 Chrome 等其他浏览器中效果很好和火狐浏览器。但是,Safari 出现“无效日期”错误。
为了解决此问题,修改了代码以尝试不同的日期格式:“MM-DD-YYYY”、“DD-MM-YYYY”和“YYYY-DD-MM”。不幸的是,这些变体在 Safari 中都没有被证明是成功的。
一个解决方案(尽管对于这个小问题来说有点过分)是使用专用的日期解析库,如 Moment.js 或 Date-fns。这些库提供了跨浏览器的强大日期处理功能。
或者,更简单的方法是使用正则表达式将日期字符串转换为与 Safari 兼容的格式:
console.log(new Date('2011-04-12'.replace(/-/g, "/")));
通过替换连字符 (-) 加上正斜杠 (/),日期字符串变得与 Safari 的日期解析逻辑兼容。这种方法相对简单有效,不需要额外的库。
以上是Safari 可以解析'YYYY-MM-DD”或其他格式的日期吗?的详细内容。更多信息请关注PHP中文网其他相关文章!