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

本文介绍了解决IE浏览器中JavaScript无法正确解析Date.parse函数的问题,并提供了一种通过替换日期字符串中的连字符来实现跨浏览器兼容性的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >




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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值