IE下Date 日期不兼容问题

ie9+, chrome firefox opera下 string到Date 使用 new  Date("2014-06-01"); 都是ok的。

但在ie7, ie8下 返回NaN

用下面方法解决:

 function parseISO8601(dateStringInRange) {  
      var isoExp = /^s*(d{4})-(dd)-(dd)s*$/,  
       date = new Date(NaN), month,  
       parts = isoExp.exec(dateStringInRange);  
       if(parts) {  
         month = +parts[2];  
         date.setFullYear(parts[1], month - 1, parts[3]); 
      if(month != date.getMonth() + 1) {  
       date.setTime(NaN);  
        }  
    }  
    return date;  
 }  

parseISO8601('2014-06-01');

  

 

原文地址:https://www.cnblogs.com/lynn-lin/p/3817965.html