Als ich kürzlich am mobilen Web gearbeitet habe, habe ich es erfolgreich mit Chrome auf dem PC debuggt, aber als ich es auf dem iPhone getestet habe, traten seltsame Probleme auf. Nach einer Reihe von Debugging-Vorgängen wurde festgestellt, dass ein Problem mit dem Datum vorliegt. Zuerst vermutete ich, dass es sich um ein Problem in der Produktionsumgebung handelte, aber das gleiche Problem trat auch beim lokalen Debuggen mit der Mac-Version von Safari auf. Nachdem ich einige Informationen konsultiert hatte, stellte ich fest, dass es ein seltsames Problem bei der Unterstützung der neuen Datumsfunktion von JavaScript durch Safari gibt.
Da Sie in SQL an das Datum/Uhrzeit-Format gewöhnt sind, wird das Datum normalerweise im Format jjjj-mm-tt formatiert. Safari unterstützt dieses Format jedoch nicht. Wenn Sie also die folgende Anweisung eingeben, wird null angezeigt zurückgegebene Zeit.
new Date('2016-04-17');
Das von Safari unterstützte Format ist jjjj/mm/tt. Der Hauptunterschied liegt im Bindestrich – und dem Schrägstrich /, während der Schrägstrich ist so Das Format kann auch in anderen gängigen Browsern normal ausgeführt werden, Sie müssen es also nur durch Schrägstriche ersetzen. Die Konvertierungsfunktion lautet wie folgt:
new Date('2016-04-17'.replace(/-/g, "/"));