"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo intercambiar objetos de fecha y hora entre Python y JavaScript usando JSON?

¿Cómo intercambiar objetos de fecha y hora entre Python y JavaScript usando JSON?

Publicado el 2024-11-09
Navegar:733

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

Fecha y hora JSON entre Python y JavaScript

Intercambiar objetos de fecha y hora entre Python y JavaScript usando JSON puede ser un desafío debido a las diferencias en sus respectivas fechas y formatos de hora. Para solucionar esto, podemos implementar controladores de serialización y deserialización JSON personalizados.

En Python, puede definir una función de controlador de serialización utilizando el parámetro predeterminado en la función json.dumps. Se llamará a este controlador cada vez que se encuentre un objeto de fecha y hora durante la serialización. El siguiente fragmento de código demuestra cómo crear un controlador para objetos de fecha y hora que los convierte al formato ISO 8601:

date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)
json.dumps(datetime.datetime.now(), default=date_handler)

Esto generará el objeto de fecha y hora como una cadena en el formato ISO 8601:

"2010-04-20T20:08:21.634121"

En JavaScript, puede utilizar un controlador de deserialización personalizado para convertir la cadena ISO 8601 recibida nuevamente en un objeto de fecha y hora. Una función de controlador de deserialización integral podría verse así:

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;
}

Al utilizar estos controladores personalizados, puede intercambiar sin problemas objetos de fecha y hora entre Python y JavaScript usando JSON, lo que garantiza la compatibilidad entre las dos plataformas.

Declaración de liberación Este artículo se reimprime en: 1729422917 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3