JSON Datetime zwischen Python und JavaScript
Der Austausch von Datetime-Objekten zwischen Python und JavaScript mithilfe von JSON kann aufgrund der Unterschiede in ihren jeweiligen Datums- und Uhrzeitangaben eine Herausforderung sein Zeitformate. Um dies zu beheben, können wir benutzerdefinierte JSON-Serialisierungs- und Deserialisierungs-Handler implementieren.
In Python können Sie eine Serialisierungs-Handler-Funktion mithilfe des Standardparameters in der Funktion json.dumps definieren. Dieser Handler wird immer dann aufgerufen, wenn während der Serialisierung ein Datetime-Objekt angetroffen wird. Der folgende Codeausschnitt zeigt, wie man einen Handler für Datetime-Objekte erstellt, der sie in das ISO 8601-Format konvertiert:
<code class="python">date_handler = lambda obj: ( obj.isoformat() if isinstance(obj, (datetime.datetime, datetime.date)) else None ) json.dumps(datetime.datetime.now(), default=date_handler)</code>
Dadurch wird das Datetime-Objekt als String im ISO 8601-Format ausgegeben:
<code class="json">"2010-04-20T20:08:21.634121"</code>
In JavaScript können Sie einen benutzerdefinierten Deserialisierungshandler verwenden, um die empfangene ISO 8601-Zeichenfolge zurück in ein Datetime-Objekt zu konvertieren. Eine umfassende Deserialisierungs-Handler-Funktion könnte wie folgt aussehen:
<code class="javascript">function handler(obj) { if (typeof obj === 'string') { if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(obj)) { // ISO 8601 Date string return new Date(obj); } } return obj; }</code>
Durch die Verwendung dieser benutzerdefinierten Handler können Sie Datetime-Objekte nahtlos zwischen Python und JavaScript mithilfe von JSON austauschen und so die Kompatibilität zwischen den beiden Plattformen sicherstellen.
Das obige ist der detaillierte Inhalt vonWie tausche ich Datetime-Objekte zwischen Python und JavaScript mithilfe von JSON aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!