您的位置:首页 > 其它

IE浏览器new Date()带参返回NaN解决方法

2018-03-15 17:14 323 查看

寻找问题

通过IE开发者工具控制台执行js代码发现,new Date("2014-01-01 12:11:12").getTime() 在IE下会返回NaN,而其他浏览器可以正常返回毫秒数。由于毫秒数在IE浏览器下没有正确获得,所以在之后的计算中,计算结果为undefined

解决问题

自定义方法

自定义一个NewDate方法,通过调用NewDate方法获得毫秒数[js] 预览复制function NewDate(str){  
  if(!str){  
    return 0;  
  }  
  arr=str.split(" ");  
  d=arr[0].split("-");  
  t=arr[1].split(":");  
  var date = new Date();   
  date.setUTCFullYear(d[0], d[1] - 1, d[2]);   
  date.setUTCHours(t[0], t[1], t[2], 0);   
  return date;  
}  

通过Date.parse()方法

parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。由于parse()方法参数的日期格式为yyyy/MM/dd,所以需要将现有的日期格式通过replace()方法将日期字符串替换成yyyy/MM/dd格式。[js] 预览复制var date="2014-01-01 12:11:12";  
Date.parse(date.replace(/-/g,"/"));  
以上两种方法支持IE和谷歌浏览器转载于:http://blog.csdn.net/wqiancangq/article/details/52484806
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: