Saltar al contenido

Cómo convertir la cadena .isoformat () de Python nuevamente en un objeto de fecha y hora

Solución:

Python 3.7+

A partir de Python 3.7 hay un método datetime.fromisoformat() que es exactamente lo contrario para isoformat().

Python más antiguo

Si tiene una versión anterior de Python, esta es la mejor “solución” actual para esta pregunta:

pip install python-dateutil

Luego…

import datetime
import dateutil

def getDateTimeFromISO8601String(s):
    d = dateutil.parser.parse(s)
    return d

Prueba esto:

>>> def gt(dt_str):
...     dt, _, us = dt_str.partition(".")
...     dt = datetime.datetime.strptime(dt, "%Y-%m-%dT%H:%M:%S")
...     us = int(us.rstrip("Z"), 10)
...     return dt + datetime.timedelta(microseconds=us)

Uso:

>>> gt("2008-08-12T12:20:30.656234Z")
datetime.datetime(2008, 8, 12, 12, 20, 30, 656234)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *