- 原因:低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法,
- 而它支持的写法为new Date('2013','10','21'),这样写就能解决"Invalid Date"的问题,能返回一个Javascript Date回来了。
- 但是随之而来的问题有出现了,Date是返回过来了,可是这个Date对象中方法返回的数据可不是我想要的,返回的数据全都不正确。具体是什么原因我也不太清楚,还请知道原理的大虾们指点下!
- 现在返回过来的Date对象.getMonth()总要比正常的要多一个月!还有.getDay()返回的星期几也不正确!╮(╯▽╰)╭懊恼啊,折磨啊。。。。
- 原来想要IOS5中的Safari能正确解析new Date()那么必须这么写
- new Date('2013/10/21');
填坑代码记录:
- if(!isEmpty(timestamp) && timestamp.indexOf("-") >-1)
- timestamp = timestamp.replace(new RegExp(/-/gm) ,"/");//解决ie,ios下invalid date问题
- var date = new Date(timestamp);
文章点评