解决浏览器(IE)不支持Data.parse()的问题




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

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);

当我们在IE中alert出来并不是数字,而是alert出来 NAV ,而在火狐中则alert 3
function delimiterConvert(val){  //格式化数据
   return val.replace('-','/').replace('-','/')
}

我们将上面的方法来整理下:

function delimiterConvert(val){
   return val.replace('-','/').replace('-','/')
}

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

判断开始时间是否大于结束时间方法:

if(Date.parse(endTime.replace('-','/').replace('-','/')) < Date.parse(startTime.replace('-','/').replace('-','/'))){
        alert('结束时间必须大于开始时间');
        return;
    }

你可能感兴趣的:(js,Data.parse)