2016-08-03 31 views
0

Dieses Problem macht mich verrückt. Während mein Code auf Firefox und Google Chrome gut funktioniert, scheitert es im Internet Explorer unter Windows 10. Aber das Problem ist wirklich seltsam.Ungültige Datum Probleme in Internet Explorer

// If I hard code this value, it works fine, 
// But the same thing generated by the program fails! 
//var dateStr = '2016-08-04 01:38:49' 

alert(dateStr) 

var a = dateStr.split(" "); 
d  = a[0].split("-"); 
t  = a[1].split(":"); 

return new Date(d[0],(d[1]-1),d[2],t[0],t[1],t[2]); 

Die Variable dateStr wird durch mein Programm gefüllt, und mit ihm das zurückgegebene Datum kommt immer ungültig erwiesen. Wenn ich jedoch den Wert dateStr aus der Alarmbox kopiere und später den Wert dateStr damit fest codiere, wird ein gültiges Datum zurückgegeben. Was ist los? Fehle ich hier etwas? Ich vermute, das hat etwas mit Unicode-Strings und sowas zu tun. Was könnte es sein?

Antwort

0

Ich denke, das Problem ist, dass Ihre Zeichenfolge einige versteckte Zeichen enthält, um z. rechts-nach-links, ..

So sind Ihre Eingabe-Parameter auf die neue Date() cntr ungültig.

Hinweis: Wenn Sie die vom aktuellen System erstellte dateTime-Zeichenfolge verwenden, kann dies zu Problemen führen, da Ihr Parser nur YYYY-MM-DD hh: mm: ss unterstützt. Dies ist ein Format, das auf Ihrer Systemlokalisierung basiert andere Zeichenfolge, wenn Ihre Lokalisierung Chinesisch oder Koreanisch ist