1. 程式人生 > >Date.parse()的兼容問題

Date.parse()的兼容問題

兼容問題 版本 rep define var bsp time fire rst

今天做項目遇到在ie,firefox上比較時間出錯,但在chrome上正常,於是查找原因,發現是由Date.parse()的兼容性導致

  compareTime: function(strStartTime, strEndTime) {
        var objStartTime = Date.parse(strStartTime);
        var objEndTime = Date.parse(strEndTime);
        if (objStartTime <= objEndTime) {
            return true;
        }
        
return false; }

parse():Date的靜態方法,返回該時間距離1970/1/1的毫秒數

低版本IE 不支持Date.parse(‘2017-08-16 17:13:30‘) 支持Date.parse(‘2017-08-16 17:13:30‘)

火狐 不支持Date.parse(‘foot 2017‘),此時返回NAN 可以用isNaN()來檢測

Chrome 會將Date.parse(‘foot 2017‘)解析成Date.parse(‘ 2005‘)

最終解決方式

compareTime: function(strStartTime, strEndTime) {
        strStartTime 
= strStartTime.replace(/-/g, "/"); strEndTime = strEndTime.replace(/-/g, "/"); var objStartTime = Date.parse(strStartTime); var objEndTime = Date.parse(strEndTime); if (objStartTime <= objEndTime) { return true; } return false; }

 

Date.parse()的兼容問題