我有一个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 string:
'2013-10-11T11:57:12Z'
我该怎么做?
答案 0 :(得分:38)
使用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
标记;你可以加上它。
答案 1 :(得分:-2)
iso = time.strftime('%Y-%m-%dT%H:%M:%SZ', timetup)
最后一个格式字符'Z'不是必需的,例如
iso = time.strftime('%Y-%m-%dT%H:%M:%S', timetup)
您将得到时间字符串,如'2015-11-05 02:09:57'