alert(new Date('2010-11-29'));
Chrome, ff在这方面没有问题,但safari会喊“无效日期”。为什么?
编辑:好的,根据下面的评论,我使用了字符串解析,并尝试了这个:
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是非常痛苦的,而且很轻。
我也遇到过类似的问题。Date.Parse("DATESTRING")适用于Chrome (Version 59.0.3071.115),但不适用于Safari (Version 10.1.1 (11603.2.5))
Safari:
Date.parse("2017-01-22 11:57:00")
NaN
铬:
Date.parse("2017-01-22 11:57:00")
1485115020000
对我有效的解决方案是用“T”替换dateString中的空格。(例如:dateString。(/ /g,"T"))
Safari:
Date.parse("2017-01-22T11:57:00")
1485086220000
铬:
Date.parse("2017-01-22T11:57:00")
1485115020000
注意,Safari浏览器的响应比Chrome浏览器的响应少8hrs (28800000ms),因为Safari以本地TZ返回响应(比UTC晚8hrs)
得到相同TZ的两个时间
Safari:
Date.parse("2017-01-22T11:57:00Z")
1485086220000
铬:
Date.parse("2017-01-22T11:57:00Z")
1485086220000
我也遇到过类似的问题。Date.Parse("DATESTRING")适用于Chrome (Version 59.0.3071.115),但不适用于Safari (Version 10.1.1 (11603.2.5))
Safari:
Date.parse("2017-01-22 11:57:00")
NaN
铬:
Date.parse("2017-01-22 11:57:00")
1485115020000
对我有效的解决方案是用“T”替换dateString中的空格。(例如:dateString。(/ /g,"T"))
Safari:
Date.parse("2017-01-22T11:57:00")
1485086220000
铬:
Date.parse("2017-01-22T11:57:00")
1485115020000
注意,Safari浏览器的响应比Chrome浏览器的响应少8hrs (28800000ms),因为Safari以本地TZ返回响应(比UTC晚8hrs)
得到相同TZ的两个时间
Safari:
Date.parse("2017-01-22T11:57:00Z")
1485086220000
铬:
Date.parse("2017-01-22T11:57:00Z")
1485086220000