A partir de la datetime docs :
Si tzinfo est None, renvoie None
Dans votre code, dt.tzinfo
es None
de sorte que les informations relatives au fuseau horaire n'ont pas été analysées par la fonction parse_date
dans le dt
. Votre date dt
est "naïf" (sans information sur le fuseau horaire).
Conformément à la dateutil docs Vous pouvez transmettre vos propres informations sur le fuseau horaire à parse_date
en tant que tzoffset
o tzfile
:
tzinfos = {"CDT": -21600}
dt = parse_date('2017-08-28 06:08:20 CDT', tzinfos=tzinfos)
dt.tzinfo #tzoffset('CDT', -21600)
from dateutil import tz
tzinfos = {"CDT": tz.gettz('US/Central')}
dt = parse_date('2017-08-28 06:08:20 CDT', tzinfos=tzinfos)
dt.tzinfo #tzfile('/usr/share/zoneinfo/US/Central')
Vous pouvez également encoder le décalage du fuseau horaire dans la chaîne :
dt = parse_date('2017-08-28 06:08:20-06:00')
dt.tzinfo #tzoffset(None, -21600)