Dado que la cadena está en formato ISO, que puede ser significativa comparada directamente con la versión del formato ISO del datetime
mencionas:
>>> s='2005-08-11T16:34:33Z'
>>> t=datetime.datetime(2009,04,01)
>>> t.isoformat()
'2009-04-01T00:00:00'
>>> s < t
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't compare datetime.datetime to str
>>> s < t.isoformat()
True
>>> z='2009-10-01T18:20:12'
>>> z < t.isoformat()
False
como se ve, mientras que no se puede comparar con la cadena de objetos de fecha y hora , siempre que las cadenas estén en formato ISO, está bien compararlas con el .isoformat()
de los objetos datetime. Esa es la belleza de la representación en cadena de formato ISO de fechas y horas: es correctamente comparable y ordena correctamente como cadenas, sin necesariamente requerir conversión a otros tipos.
Si estás interesado en convertir,, que, por supuesto, puede: (segundo año, mes, día, hora, minuto,) la función
>>> datetime.datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ')
datetime.datetime(2005, 8, 11, 16, 34, 33)
@Eric, eres bienvenido! –