Heim  >  Artikel  >  Backend-Entwicklung  >  Wie tausche ich Datetime-Objekte zwischen Python und JavaScript mithilfe von JSON aus?

Wie tausche ich Datetime-Objekte zwischen Python und JavaScript mithilfe von JSON aus?

Barbara Streisand
Barbara StreisandOriginal
2024-10-20 19:17:02516Durchsuche

How to Exchange Datetime Objects Between Python and JavaScript Using JSON?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn