Dal momento che la stringa è in formato ISO, può essere significato confrontato direttamente con la versione ISO formato del datetime
si parla:
>>> 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
, come si vede, mentre non si può paragonare stringa con oggetti datetime , a patto che le stringhe siano in formato ISO, va bene confrontarle con lo .isoformat()
degli oggetti datetime. Questa è la bellezza della rappresentazione della stringa in formato ISO di date e orari: è correttamente confrontabile e ordina correttamente come stringhe, senza necessariamente richiedere la conversione in altri tipi.
Se siete interessati a convertire, naturalmente, è possibile: (secondo anno, mese, giorno, ora, minuto,) la funzione
>>> datetime.datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ')
datetime.datetime(2005, 8, 11, 16, 34, 33)
fonte
2010-04-27 13:58:14
@Eric, sei il benvenuto! –