Comment puis-je supprimer une pytz fuseau horaire à partir d'un objet datetime?
Est-il un moyen simple de supprimer le fuseau horaire à partir d'un pytz objet datetime?
par exemple, la reconstruction de dt
de dt_tz
dans cet exemple:
>>> import datetime
>>> import pytz
>>> dt = datetime.datetime.now()
>>> dt
datetime.datetime(2012, 6, 8, 9, 27, 32, 601000)
>>> dt_tz = pytz.utc.localize(dt)
>>> dt_tz
datetime.datetime(2012, 6, 8, 9, 27, 32, 601000, tzinfo=<UTC>)
Vous devez vous connecter pour publier un commentaire.
Pour supprimer un fuseau (tzinfo) à partir d'un objet datetime:
Si vous utilisez une bibliothèque comme flèche, vous pouvez supprimer le fuseau horaire simplement en convertissant une flèche objet à un objet datetime, puis de faire la même chose que l'exemple ci-dessus.
Pourquoi voudriez-vous faire cela? Un exemple est que mysql ne prend pas en charge les fuseaux horaires avec son type DATETIME. Donc, utiliser l'ORM est comme sqlalchemy suffit d'enlever le fuseau horaire lorsque vous lui donnez un
datetime.datetime
objet à insérer dans la base de données. La solution est de convertir votredatetime.datetime
objet à l'UTC (donc tout ce qui dans votre base de données est UTC depuis il ne peut pas spécifier le fuseau horaire), puis de les insérer dans la base de données (où le fuseau horaire est retiré de toute façon) ou de l'enlever vous-même. Notez également que vous ne peut pas comparerdatetime.datetime
objets où l'on est le fuseau horaire courant et un autre fuseau horaire naïf.