转载  解决IE不支持Data.parse()的问题

分类: 2015-06-29T13:44:14    419人阅读   

IE不能识别JS函数Date.parse的解决方法  ,当我们用JS计算两个时间的间隔时,我们会用到Date.parse 这个JS函数

如:

<span style="font-size:18px;">var begintime = "2012-12-22";  //开始时间
var endtime = "2012-12-25";    //结束时间
var begindate=new Date(begintime);
var enddate=new Date(endtime );
var days = Date.parse(enddate) - Date.parse(begindate);  //计算两个时间差
alert(days);</span>
当我们在IE中alert出来并不是数字,而是alert出来 NAV ,而在火狐中则alert 3 

解决方法:

<span style="font-size:18px;">function delimiterConvert(val){  //格式话数据
   return val.replace(\'-\',\'/\').replace(\'-\',\'/\')
}</span>
我们将上面的方法来整理下:

<span style="font-size:18px;">function delimiterConvert(val){
   return val.replace(\'-\',\'/\').replace(\'-\',\'/\')
}

function diff_time(time1,time2){  //计算时间差
        var begindate=new Date(<font color="Red">delimiterConvert</font>(time1));//开始日期 <font color="Red">delimiterConvert格式话下时间</font>
        var enddate=new Date(<font color="Red">delimiterConvert</font>(time2));//结束日期
        var tempdays = Date.parse(enddate) - Date.parse(begindate);
        return (tempdays/(1000*60*60*24)); //返回的是毫秒,所以要除    1000*60*60*24
}</span>