如何将python time.struct_time对象转换为ISO字符串?

2024-09-30 16:19:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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'

我该怎么做?


Tags: 对象stringtimeisosecminyearstruct
2条回答

使用^{}可能是最简单的:

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()对象,它有一个^{}方法:

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

这会错过时区标记;您可以添加它。

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”这样的时间字符串

相关问题 更多 >