Как преобразовать объект python time.struct_time в строку ISO? - программирование
Подтвердить что ты не робот

Как преобразовать объект python time.struct_time в строку ISO?

У меня есть объект Python:

time.struct_time(tm_year=2013, tm_mon=10, tm_mday=11, tm_hour=11, tm_min=57, tm_sec=12, tm_wday=4, tm_yday=284, tm_isdst=0)

И мне нужно получить строку ISO:

'2013-10-11T11:57:12Z'

Как я могу это сделать?

4b9b3361

Ответ 1

Использование time.strftime() возможно проще всего:

iso = time.strftime('%Y-%m-%dT%H:%M:%SZ', timetup)

Демо:

>>> import time
>>> timetup = time.gmtime()
>>> time.strftime('%Y-%m-%dT%H:%M:%SZ', timetup)
'2013-10-11T13:31:03Z'

Вы также можете использовать объект datetime.datetime(), который имеет метод datetime.isoformat():

>>> from datetime import datetime
>>> datetime(*timetup[:6]).isoformat()
'2013-10-11T13:31:03'

Это пропускает часовой пояс Z; вы можете просто добавить это.

Ответ 2

Я новичок в Python.

Не могли бы вы помочь мне понять, почему вы использовали '*' в datetime (* timetup [: 6]). Isoformat()

Ответ 3

iso = time.strftime('%Y-%m-%dT%H:%M:%SZ', timetup)

Последний символ charator 'Z не нужен, например

iso = time.strftime('%Y-%m-%dT%H:%M:%S', timetup)

Вы получите временную строку, например '2015-11-05 02:09:57'