我有一個函數的日期字符串轉換成具有特定格式轉換成JS Date對象:新的日期 - IE11
// param userInputBirthdate is a string with this format `dd.mm.yyyy`
function dateObjFromCHString(userInputBirthdate){
var paramDate = userInputBirthdate.split('.').reverse().join('-');
return new Date(paramDate);
}
當用戶填寫的出生日期輸入,成功創建日期對象通過調用這個函數。
但現在在我的單元測試,我模擬用戶給出的字符串代碼(我要計算這樣的個人原因之日,所以請不建議簡單地寫一個字符串常量日期 ):
var localDateOptions = {month:'2-digit',year:'numeric',day:'2-digit'};
var today = new Date();
olderDate.setDate(today.getDate()-(25*365)); //25 years ago
olderDate = olderDate.toLocaleDateString('fr-CH',localDateOptions).replace(/\//g,'.');//return something like 23.03.1985
但現在,當我把它轉換與功能:
dateObjFromCHString(olderDate); //returns [date] Invalid Date in IE11
我得到一個 「Invalid Date
」 與IE瀏覽器(與IE11邊緣模式下測試),但一切都正常工作與FF,Chrome瀏覽器要麼Opera ... 有人可以告訴我什麼是IE的問題?
注:我看到了有關這個問題,使用格式YYYY-MM-DD HH的recommandation其他SO線程:mm:ss的新Date參數,但它與new Date('2012-03-11')
的作品,我想知道爲什麼單元測試代碼不起作用。