【发布时间】:2011-05-17 16:37:48
【问题描述】:
alert(new Date('2010-11-29'));
chrome, ff 对此没有问题,但 safari 会喊“无效日期”。为什么?
编辑:好的,根据下面的 cmets,我使用了字符串解析并尝试了这个:
alert(new Date('11-29-2010')); //doesn't work in safari
alert(new Date('29-11-2010')); //doesn't work in safari
alert(new Date('2010-29-11')); //doesn't work in safari
编辑 2018 年 3 月 22 日:似乎人们仍然在这里登陆 - 今天,我会使用 moment 或 date-fns 并完成它。 Date-fns 也非常轻松且无痛。
【问题讨论】:
-
仅针对其他正在寻找相同问题的人:我最终使用了 DateJS,它总体上解决了我的问题。有关详细信息,请参阅接受的答案。
-
使用moment.js 解析时间戳。特别是在处理跨平台网络时
-
这是一个老问题。从 ECMAScript 2015 开始,ISO 8601 仅日期字符串被解析为 UTC。但是,可能仍有一些旧浏览器根本不解析它或将其视为本地浏览器。
-
如问题“alert(new Date('29-11-2010')); alert(new Date('2010-29-11'));”中所述这两种格式在 Firefox/Chrome 中也不起作用。所以这两种格式我认为是完全错误的,根本不应该使用。
标签: javascript date safari