js 解析时间

问题:在app中使用new Date()方法解析时间,安卓正常,IOS报错

例如:new Date("2018-10-16 17:00:00")结果为 invalid date

 

错误原因:参数格式不规范,不能兼容所有浏览器;

new Date()参数格式有以下5种:

new Date("month dd,yyyy hh:mm:ss");
new Date("month dd,yyyy");
new Date(yyyy,mth,dd,hh,mm,ss);
new Date(yyyy,mth,dd);
new Date(ms);

month:用英文表示月份名称;

mth:用整数表示月份;

dd:表示一个月中的第几天;

yyyy:四位数表示的年份;

hh:小时数;

mm:分钟数;

ss:秒数;

ms:毫秒数;

 

所以可以将2018-10-16 17:00:00改为上述的格式,如下:

var time = "2017-06-23 17:00:00";
time = time.replace(/-/g,':').replace(' ',':'); // 注意,第二个replace里,是' ',中间有个空格,千万不能遗漏
time = time.split(':');
var time1 = new Date(time[0],(time[1]-1),time[2],time[3],time[4],time[5]);

 

posted @ 2018-10-16 17:31  雾以泪聚rx  阅读(3235)  评论(0编辑  收藏  举报