Ziel: Suchen Sie die local time
und UTC time offset
dann erstellen Sie die URL im folgenden Format.Wie formatiert ISO 8601 ein Datum mit Zeitzonenverschiebung in JavaScript?
Beispiel URL:?/Aktionen/Schlafdauer = 2002-10-10T12: 00: 00-05: 00
Das Format auf der W3C-Empfehlung basiert: http://www.w3.org/TR/xmlschema11-2/#dateTime
Die Dokumentation sagt:
For example, 2002-10-10T12:00:00−05:00 (noon on 10 October 2002,
Central Daylight Savings Time as well as Eastern Standard Time in the U.S.)
is equal to 2002-10-10T17:00:00Z, five hours later than 2002-10-10T12:00:00Z.
So basiert auf meinem Verständnis, ich brauche meine Ortszeit durch new Date() dann verwenden getTimezoneOffset() Funktion zur Berechnung der Differenz dann fügen sie es bis zum Ende der Zeichenfolge zu finden.
1.Get Ortszeit mit Format
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
Ausgang
2013-07-02T09:00:00
2.Get UTC Zeitversatz von Stunde
var offset = local.getTimezoneOffset()/60;
Ausgang
7
3.Construct URL (Zeit Teil nur)
var duration = local + "-" + offset + ":00";
Ausgang:
2013-07-02T09:00:00-7:00
Das obige Ausgabemittel meiner Ortszeit ist 2013.07.02 09.00 Uhr und Differenz aus UTC ist 7 Stunden (UTC ist 7 Stunden vor der Ortszeit)
Bisher scheint es zu funktionieren, aber Was ist, wenn getTimezoneOffset() einen negativen Wert wie -120 zurückgibt?
Ich frage mich, wie das Format in so einem Fall aussehen sollte, weil ich nicht aus dem W3C-Dokument herausfinden kann. Danke im Voraus.
Sie sagen, dass ich Pluszeichen verwenden kann, wenn von getTimezoneOffset() wie 2013-07-02T09: 00: 00 + 2: 00 ein negativer Wert (-120) zurückgegeben wird? –
Ja, das ist richtig. –
Das Zeichen zeigt den Versatz der Ortszeit von GMT –