web-dev-qa-db-fra.com

Comment convertir le format d'heure AAAA-MM-JJTHH: mm: ss.000Z au format d'heure MM / JJ / AAAA en Python?

Par exemple, j'essaie de convertir le 2008-09-26T01: 51: 42.000Z en 09/26/2008. Quelle est la manière la plus simple d'y parvenir?

35
fuentesjr

Le moyen le plus simple consiste à utiliser dateutil . Parser.parse () pour analyser la chaîne de date dans un objet datetime prenant en compte le fuseau horaire, puis utiliser strftime () pour obtenir le format souhaité.

import dateutil.parser

d = dateutil.parser.parse('2008-09-26T01:51:42.000Z')
print(d.strftime('%m/%d/%Y'))  #==> '09/26/2008'
35
Jeremy Cantrell

Je sais que c'est vraiment une vieille question, mais vous pouvez le faire avec python datetime.strptime ()

>>> from datetime import datetime
>>> date_format = "%Y-%m-%dT%H:%M:%S.%fZ" 
>>> datetime.strptime('2008-09-26T01:51:42.000Z', date_format)
datetime.datetime(2008, 9, 26, 1, 51, 42)
22
mhoang
>>> import time
>>> timestamp = "2008-09-26T01:51:42.000Z"
>>> ts = time.strptime(timestamp[:19], "%Y-%m-%dT%H:%M:%S")
>>> time.strftime("%m/%d/%Y", ts)
'09/26/2008'

Consultez la documentation du module Python time pour plus d'informations.

16
Greg Hewgill

2008-09-26T01:51:42.000Z est une date ISO8601 et le format peut être très divers. Si vous voulez analyser ces dates, consultez le python wiki sur travailler avec le temps . Il contient des liens utiles vers les modules.

3
olt