前端萌新博主的日常踩坑
在最近的一个项目里需要用到倒计时功能,暂时也没找到好用的插件,就打算自己写一个,效果图如下:
在谷歌火狐等浏览器下测试完没问题,然后开了虚拟机上了ie8,然后时间就变成 NAN:NAN:NAN !!!一脸懵逼,接着博主又上了ie11 测试了一下,情况一样,说明了所有ie都挂了,检查了一下,我从后台取到的值是2017-11-12 08:00 会不会是时间格式上的问题,然后跟后端协调把值改成了year/month/day 00:00 的时间格式,mgb居然好了,上网查了一下js的日期对象可以识别的日期字符串有四种:
1.YYYY-MM-DD 2000-01-01 01:01:01 | 2000-1-1 1:1:1
2.MM-DD-YYYY 01-01-2000 01:01:01 | 1-1-2011 1:1:1
3.YYYY/MM/DD 2000/01/01 01:01:01 | 2000/1/1 1:1:1
4.MM/DD/YYYY 01/01/2000 01:01:01 | 1/1/2000 1:1:1
对于标准浏览器都是支持这四种时间格式的,但是!but!ie永远不出正常牌,它居然是不支持第一种用-连接的时间格式的!!这也是博主为什么挂了的原因。then ,知道的原因解决起来就很简单了,最简单的办法跟后端协调给你ie能用的时间格式,最简单无脑型;想自己操刀的话呢也很简单,当然是正则了,学了正则是干嘛的!就是这种操蛋时候用的啊,replace(/-/g,'/') 是不是一步到位,也很简单。hhhh。