我正在尝试用JavaScript构建一个小日历.我的日期在Firefox和Chrome中运行良好,但在IE中,日期函数返回NaN.
这是功能:
function buildWeek(dateText){
var headerDates='';
var newDate = new Date(dateText);
for(var d=0;d<7;d++){
headerDates += '<th>' + newDate + '</th>';
newDate.setDate(newDate.getDate()+1);
}
jQuery('div#headerDates').html('<table><tr>'+headerDates+'</tr></table>');
}
Run Code Online (Sandbox Code Playgroud)
dateText是本周的星期一,它实际上是以'm,d,Y'的格式在php中设置的,例如"02, 01, 2010".
当我尝试解析中的日期时IE 11,它抛出NaN,但在chrome / firefox中,我得到了以下内容timestamp 1494559800000
Date.parse("?5?/?12?/?2017 09:00 AM")
Run Code Online (Sandbox Code Playgroud)
以下是在IE 11中失败的情况。是否有其他库或方法可以在IE 11中解决此问题?
tArray 包含 ["09:00 AM", "05:00 PM"];
var tArray = timings.toUpperCase().split('-');
var timeString1 = currentDate.toLocaleDateString() + " " + tArray[0];
var timeString2 = currentDate.toLocaleDateString() + " " + tArray[1];
var currentTimeString = currentDate.toLocaleDateString() + " " + currentTime.toUpperCase();
//Below is the condition which is failing.
if (Date.parse(timeString1) < Date.parse(currentTimeString)
&& Date.parse(currentTimeString) < Date.parse(timeString2)) {
Run Code Online (Sandbox Code Playgroud)
我创建了一个失败的虚拟小提琴。 https://jsfiddle.net/vwwoa32y/