Safari中的日期无效

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也非常轻巧。


翻过高山走不出你
浏览 555回答 3
3回答

江户川乱折腾

对我来说,仅仅因为Safari无法正确实现新库而实施一个新库就太多了,而正则表达式则显得过于刻板。这是oneliner:console.log (new Date('2011-04-12'.replace(/-/g, "/")));

LEATH

我面临着类似的问题。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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript