Nahezu jede ISO-Methode im Web löscht die Zeitzoneninformationen, indem vor der Ausgabe der Zeichenfolge eine Konvertierung in die "U" -Ulu-Zeit (UTC) angewendet wird. Die native .toISOString () des Browsers löscht auch Zeitzoneninformationen.
Dadurch werden wertvolle Informationen verworfen, da der Server oder Empfänger jederzeit ein vollständiges ISO-Datum in die Zulu-Zeit oder die erforderliche Zeitzone konvertieren kann, während die Zeitzoneninformationen des Absenders abgerufen werden.
Die beste Lösung, auf die ich gestoßen bin, besteht darin, die Javascript-Bibliothek von Moment.js zu verwenden und den folgenden Code zu verwenden:
Um die aktuelle ISO-Zeit mit Zeitzoneninformationen und Millisekunden abzurufen
now = moment().format("YYYY-MM-DDTHH:mm:ss.SSSZZ")
// "2013-03-08T20:11:11.234+0100"
now = moment().utc().format("YYYY-MM-DDTHH:mm:ss.SSSZZ")
// "2013-03-08T19:11:11.234+0000"
now = moment().utc().format("YYYY-MM-DDTHH:mm:ss") + "Z"
// "2013-03-08T19:11:11Z" <- better use the native .toISOString()
Abrufen der ISO-Zeit eines nativen JavaScript-Datumsobjekts mit Zeitzoneninformationen, jedoch ohne Millisekunden
var current_time = Date.now();
moment(current_time).format("YYYY-MM-DDTHH:mm:ssZZ")
Dies kann mit Date.js kombiniert werden, um Funktionen wie Date.today () zu erhalten, deren Ergebnis dann an moment übergeben werden kann.
Eine so formatierte Datumszeichenfolge ist JSON-Compilant und eignet sich gut zum Speichern in einer Datenbank. Python und C # scheinen es zu mögen.