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');