Ich möchte das Datum analysiert werden wie sie ist, und für keine locale Anpassungen (in diesem Fall BST)
stattfinden soll, ist genau das, was sollte auftreten, aber es nicht in allen Browsern. Sie sollten Strings nicht mit dem Date-Konstruktor oder Date.parse analysieren (sie sind äquivalent zum Parsen). Strings immer manuell analysieren, eine Bibliothek kann helfen, ist aber normalerweise nicht notwendig.
Gemäß EMCAScript 2015 sollte "2016-06-03T09: 05: 15" als "lokales" Datum analysiert werden (dh basierend auf den Host-Systemeinstellungen für Datum, Uhrzeit und Zeitzone am angegebenen Datum und Zeitpunkt)). Der Zeitwert eines Datumsobjekts ist UTC. Wenn Sie also den Zeitwert erstellen, werden die Hosteinstellungen berücksichtigt. Die gleichen Einstellungen werden auch für die Ausgabe verwendet. Wenn also der OP-String korrekt analysiert und dann in die Ausgabe geschrieben wird, sollten Sie exakt dasselbe Datum und dieselbe Uhrzeit erhalten (obwohl wahrscheinlich in einem anderen Format).
Wenn Sie eine andere Zeit als die Eingabezeichenfolge sehen, wird die Zeichenfolge nicht korrekt analysiert (daher wird empfohlen, Zeichenfolgen manuell zu analysieren).
Ist das erreichbar, ohne meinen eigenen Datum/Zeit-Parser zu schreiben?
Ja, verwenden Sie eine Bibliothek, die jemand anderes geschrieben hat. Wenn Sie jedoch möchten, dass die Hosteinstellungen für die Ausgabe ignoriert werden, müssen Sie auch einen eigenen Formatierer schreiben oder eine Bibliothek verwenden.
Die gute Nachricht ist, dass es viele zur Auswahl gibt.
Wenn Sie mit Datumsangaben arbeiten, sollten Sie in Betracht ziehen, etwas wie [Moment.js] (http://momentjs.com/) oder [Date.js] (http://www.datejs.com/) zu verwenden, Das sind die De-facto-Standards für den Umgang mit dieser Art von Operation und könnten Ihnen das Leben erleichtern. –
Es gibt kein "wie es ist" -Datum - es wird immer ein Gebietsschema angegeben. Am nächsten kann man alles in UTC/GMT tun. –
Hey @RionWilliams ironisch ich benutze Date.js :) aber 'Date.parse' analysiert nicht alle Daten. Vermisse ich einen Trick? – keldar