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)