js new Date()的兼容性问题

最近在写一个微信公众号里的程序,有个倒计时的功能,从后台拿到的时间格式是yyyy:mm:dd hh:MM:ss

然后要var startTime = new Date(yyyy:mm:dd hh:MM:ss).getTime()获取时间的毫秒数

用chrome调试的一切正常,部署到线上后,用户反映在ios系统上出线了NaN小时NaN分钟NaN秒,倒计时功能失效,而安卓手机是正常的

后来找到资料,

var startTime = new Date('2017-03-08 00:00:00');   //ios中starTime为NaN

var startTime2 = new Date('2017-03-08T00:00:00');  //日期和时间中间加个T,兼容ios

所以,把时间字符串replace(/s/, 'T')就好。

还有一种更优秀的时间管理插件,moment.js,引入插件后

moment('2017-03-08 00:00:00').format('X');   即可将时间转化成秒(不是毫秒)

原文地址:https://www.cnblogs.com/cutone/p/7561232.html