为了账号安全,请及时绑定邮箱和手机立即绑定

Safari中的日期无效

Safari中的日期无效

翻过高山走不出你 2019-09-21 11:16:16
alert(new Date('2010-11-29'));chrome,ff对此没有问题,但Safari会喊“无效日期”。为什么呢编辑:好的,根据下面的评论,我使用了字符串解析并尝试了以下操作:alert(new Date('11-29-2010')); //doesn't work in safarialert(new Date('29-11-2010')); //doesn't work in safarialert(new Date('2010-29-11')); //doesn't work in safari编辑2018年3月22日:好像人们仍在这里着陆-今天,我将使用moment或date-fns完成此操作。Date-fns也非常轻巧。
查看完整描述

3 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

对我来说,仅仅因为Safari无法正确实现新库而实施一个新库就太多了,而正则表达式则显得过于刻板。这是oneliner:


console.log (new Date('2011-04-12'.replace(/-/g, "/")));


查看完整回答
反对 回复 2019-09-21
?
LEATH

TA贡献1936条经验 获得超6个赞

我面临着类似的问题。Date.Parse("DATESTRING")在Chrome(版本59.0.3071.115)上运行,但在Safari(版本10.1.1(11603.2.5))上无法运行


苹果浏览器:


Date.parse("2017-01-22 11:57:00")

NaN

铬:


Date.parse("2017-01-22 11:57:00")

1485115020000

对我有用的解决方案是将dateString中的空间替换为"T"。(例如:dateString.replace(/ /g,"T"))


苹果浏览器:


Date.parse("2017-01-22T11:57:00")

1485086220000

铬:


Date.parse("2017-01-22T11:57:00")

1485115020000

请注意,来自Safari浏览器的响应比Chrome浏览器中的响应少8小时(28800000ms),因为Safari以本地TZ返回了响应(比世界标准时间晚8小时)


在同一个TZ中获得两个时间


苹果浏览器:


Date.parse("2017-01-22T11:57:00Z")

1485086220000

铬:


Date.parse("2017-01-22T11:57:00Z")

1485086220000


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 554 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号