让前端飞Web前端之路Web 前端开发

safari new Date()填坑记

2017-04-10  本文已影响353人  翻滚的前端程序员

1. 场景

后端数据中日期返回为 date:'2017-01-13'
我在前端使用 new Date(date)
本来一直在chrome中调试,一切正常。昨天在safari中发现报错:Invalid date in safari

经过自己的搜索,发现了这个问题,stackoverflow上同样的提问:http://stackoverflow.com/questions/4310953/invalid-date-in-safari

2. 原因

目前Safari可以支持的标准格式如下: MM-dd-yyyy yyyy/MM/dd MM/dd/yyyy MMMM dd, yyyy MMM dd, yyyy,
所以 yyyy-mm-dd 这种格式就不支持,直接报错

3. 解决方法

第一种:

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

第二种:

使用一些时间处理库,比如 :date-fns   moments.js 等

OK,Done!

上一篇下一篇

猜你喜欢

热点阅读