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