Подтвердить что ты не робот

Как вы преобразовываете формат времени YYYY-MM-DDTHH: mm: ss.000Z в формат времени MM/DD/YYYY в Python?

Например, я пытаюсь преобразовать 2008-09-26T01: 51: 42.000Z в 09/26/2008. Какой самый простой способ выполнить это?

4b9b3361

Ответ 1

Самый простой способ - использовать dateutil.parser.parse(), чтобы проанализировать строку даты в объекте datetime, посвященном часовому поясу, затем используйте strftime(), чтобы получить желаемый формат.

import datetime, dateutil.parser

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

Ответ 2

>>> 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'

Дополнительную информацию см. в документации модуля Python time.

Ответ 3

Я знаю, что это действительно старый вопрос, но вы можете сделать это с помощью 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)

Ответ 4

2008-09-26T01:51:42.000Z - это дата ISO8601, и формат может быть очень разнообразным. Если вы хотите проанализировать эти даты, просмотрите вики python на работая со временем. Он содержит полезные ссылки на модули.

Ответ 5

def datechange(datestr):
dateobj=datestr.split('-')
y=dateobj[0]
m=dateobj[1]
d=dateobj[2]
datestr=d +'-'+ m +'-'+y
return datestr

U может сделать такую ​​функцию, которая принимает объект date и возвращает дату в нужный формат даты.