Comment échanger des objets Datetime entre Python et JavaScript à l'aide de JSON ?

Barbara Streisand
Libérer: 2024-10-20 19:17:02
original
515 Les gens l'ont consulté

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

Datetime JSON entre Python et JavaScript

L'échange d'objets datetime entre Python et JavaScript à l'aide de JSON peut être difficile en raison des différences entre leurs dates et formats d'heure. Pour résoudre ce problème, nous pouvons implémenter des gestionnaires de sérialisation et de désérialisation JSON personnalisés.

En Python, vous pouvez définir une fonction de gestionnaire de sérialisation en utilisant le paramètre par défaut dans la fonction json.dumps. Ce gestionnaire sera appelé chaque fois qu'un objet datetime est rencontré lors de la sérialisation. L'extrait de code suivant montre comment créer un gestionnaire pour les objets datetime qui les convertit au format ISO 8601 :

<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>
Copier après la connexion

Cela affichera l'objet datetime sous forme de chaîne au format ISO 8601 :

<code class="json">"2010-04-20T20:08:21.634121"</code>
Copier après la connexion

En JavaScript, vous pouvez utiliser un gestionnaire de désérialisation personnalisé pour reconvertir la chaîne ISO 8601 reçue en un objet datetime. Une fonction complète de gestionnaire de désérialisation pourrait ressembler à :

<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>
Copier après la connexion

En utilisant ces gestionnaires personnalisés, vous pouvez échanger de manière transparente des objets datetime entre Python et JavaScript à l'aide de JSON, garantissant ainsi la compatibilité entre les deux plates-formes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!