var date = new Date('2016-12-6 11:11:11'); document.write(date);
Kürzlich schreibe ich ein Zeitbeurteilungsskript, das die feste Zeichenfolge zum Vergleich in einen Zeitstempel umwandeln muss. Dabei bin ich es gewohnt, Chrome als Debugging-Tool zu verwenden , alles ist normal;
Verwenden Sie andere Browser für den Zugriff. IE und Safari sind nicht kompatibel und geben die Fehlermeldung „Ungültiges Datum“ zurück.
Ich dachte, es könnte ein Problem mit dem String-Format sein, also habe ich es in „2016/11/11 11:11:11“ geändert und erneut getestet. Das Ergebnis war meiner Meinung nach in Ordnung , also habe ich den Besuch mit dem mobilen Browser fortgesetzt, Android ist normal, das iPhone meldet weiterhin Fehler,
und ändere dann „11. November 2016 11:11:11“, der Fehler wird immer noch gemeldet, egal wie Ich ändere es, es funktioniert nicht
Nachdem ich mir den Kopf zerbrochen habe, habe ich es endlich im Forum gelesen. Wir sind zu einer solchen Lösung gekommen:
var arr = "2016/11/11 11:11:11".split(/[- : \/]/), date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]); document.write(date);
ist endlich mit allen Browsern kompatibel. Fazit:
Safari im iPhone kann nicht mit Zeitformaten wie JJJJ-MM-TT HH:mm:ss oder JJJJ/MM/TT HH:mm erklärt werden :ss und Browser wie Google Firefox haben dieses Format erweitert,
Safari im iPhone. Die unterstützten Formate sind JJJJ, MM, TT, HH, mm, ss. Dieses Problem hat mich den größten Teil des Tages gestört Ich wollte unbedingt die Programmierer von Apple herausholen und sie 10 Minuten lang erschießen. Sie waren so einzigartig. Ärgerlich