web-dev-qa-db-fra.com

Comment obtenir une chaîne de date UTC en Python?

J'essaye d'obtenir la chaîne de date utc comme "AAAAMMJJ"

Pour l'instant je fais ce qui suit,

nowTime =  time.gmtime();
nowDate = date(nowTime.tm_year, nowTime.tm_mon, nowTime.tm_mday)
print nowDate.strftime('%Y%m%d')

Autrefois, je faisais:

datetime.date.today().strftime()

mais cela me donne une chaîne de date en TZ local

Comment obtenir une chaîne de date UTC?

25
GJain
from datetime import datetime, timezone
datetime.now(timezone.utc).strftime("%Y%m%d")

Ou, comme l'a souligné le Davidisme, cela fonctionnerait également:

from datetime import datetime
datetime.utcnow().strftime("%Y%m%d")

Je préfère la première approche, car elle vous donne l'habitude d'utiliser des heures de temps sensibles au fuseau horaire - mais comme l'a souligné JF Sebastian - cela nécessite Python 3.2+. La deuxième approche fonctionnera à la fois en 2.7 et en 3.2 succursales.

47
Matt Johnson-Pint