Как преобразовать формат времени YYYY-MM-DDTHH: мм: ss.000Z в формат времени MM / DD / YYYY в Python? - PullRequest
28 голосов
/ 18 октября 2008

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

Ответы [ 5 ]

34 голосов
/ 18 октября 2008

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

import dateutil.parser

d = dateutil.parser.parse('2008-09-26T01:51:42.000Z')
print(d.strftime('%m/%d/%Y'))  #==> '09/26/2008'
19 голосов
/ 26 августа 2016

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

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

0 голосов
/ 25 мая 2010
def datechange(datestr):
dateobj=datestr.split('-')
y=dateobj[0]
m=dateobj[1]
d=dateobj[2]
datestr=d +'-'+ m +'-'+y
return datestr

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...