Heim  >  Artikel  >  Web-Frontend  >  Kompatibilitätsprobleme bei Datumsobjekten in JavaScript zwischen Safari und IOS

Kompatibilitätsprobleme bei Datumsobjekten in JavaScript zwischen Safari und IOS

php是最好的语言
php是最好的语言Original
2018-07-28 13:46:191727Durchsuche

Kürzlich arbeitet die Redaktion an einer Funktion zur Reservierung von Konferenzräumen. Diese Funktion ähnelt der Auswahl von Sitzplätzen beim Kauf von Kinokarten. Sie können sehen, für welchen Zeitraum der Konferenzraum verfügbar ist, welche Ausrüstung verfügbar ist usw. Da ich eine APP erstelle, muss die APP sowohl mit Android als auch mit IOS kompatibel sein. Ich habe für die anfängliche Entwicklung und das Debuggen keine anderen Browser verwendet Ende? Versteckte Gefahren. Unten ist meine Schnittstelle.

Kompatibilitätsprobleme bei Datumsobjekten in JavaScript zwischen Safari und IOS

Frage 1:

Diese Schnittstelle verwendet viele Datumstypberechnungen. Wenn wir JavaScript verwenden, um ein Datumsobjekt zu instanziieren, können wir es wie folgt verwenden :

var date =new Date();

Der obige Code dient zum Abrufen des aktuellen Datums. Dieser Code kann in den Browsern Firefox, Chrome und Safari ausgeführt werden. Wenn ich das Datum jedoch anhand einer Zeichenfolge ermitteln möchte, tritt das Problem auf. Schauen Sie sich den Code unten an.

var date =new Date("2016-05-31 08:00");

Dieser Code soll das in den Zeichen angegebene Datum abrufen. Er kann in Firefox und Chrome ausgeführt werden, aber wenn er in Safari platziert wird, wird ein Fehler gemeldet. Der Fehler ist NaN, was keine Zahl bedeutet . Aufgrund dieses Fehlers konnten Apple-Telefone die von mir entwickelte Schnittstelle nicht normal ausführen, als ich 300 Zeilen von js schrieb, von denen fast alle mit der Zeit zu tun hatten, entweder mit Werten oder mit Werten Berechnen. Jetzt IOS Nicht unterstützt. . . . . . .

Ich habe im Internet gesucht und den Code so geschrieben:

var date =new Date("2016/05/31 08:00");

Damit Android und IOS ihn teilen können, habe ich eine Funktion geschrieben und ersetzt!

  1. function GetDateDiff(startDiffTime, endDiffTime) {

  2. /Konvertieren Sie das Zeitformat xxxx-xx-xx in das Format xxxx/xx/xx

  3. startTime = startDiffTime .replace(/ -/g, "/");
  4. endTime = endDiffTime.replace(/-/g, "/");
  5. };

Frage 2:

Ein neuer Kalender wird in HTML5 Control hinzugefügt, wenn Der Typ des Steuerelements ist „datetime-local“, wenn es Chrome ist, ist das Datumsanzeigeformat des Steuerelements 2016/05/30 08:00, wenn es Safari ist, ist das Datumsanzeigeformat: 2016-05-31T08 :00 , wenn wir JQuery zum Abrufen und Zuweisen von Werten verwenden, müssen wir diese Methode zum Zuweisen von Werten verwenden: Wenn die ID dieses Kalendersteuerelements timeDate ist, lautet der Code wie folgt:

$("#timeDate').val("2016-05-30T08:30");

Verwenden Sie $("# timeDate').val ("2016/05/30 08:30"); meldet einen Fehler

Verwandte Artikel:

Fallstricke beim neuen Datum und anderen Datumsfunktionen von JavaScript in Safari

Datumsobjekt in JavaScript

Verwandte Videos:

JS-integriertes Objekt-Datumsobjekt-JavaScript grundlegendes Video-Tutorial

Das obige ist der detaillierte Inhalt vonKompatibilitätsprobleme bei Datumsobjekten in JavaScript zwischen Safari und IOS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn