1. 程式人生 > >解決瀏覽器(IE)不支援Data.parse()的問題

解決瀏覽器(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;
    }