【发布时间】:2014-01-23 19:09:56
【问题描述】:
我有时间戳格式,例如“2014-01-06T00:39:45.001+0000”,但我不知道这个时间戳格式到底是什么。所以我无法将它转换为我想要的日期时间。
如何用 Python 转换它?
【问题讨论】:
-
@tback: 或者更具体地说,它是rfc 3339 中描述的 ISO 8601 配置文件(时间偏移中的+/-“:”)
我有时间戳格式,例如“2014-01-06T00:39:45.001+0000”,但我不知道这个时间戳格式到底是什么。所以我无法将它转换为我想要的日期时间。
如何用 Python 转换它?
【问题讨论】:
>>> import dateutil.parser
>>> dateutil.parser.parse("2014-01-06T00:39:45.001+0000")
datetime.datetime(2014, 1, 6, 0, 39, 45, 1000, tzinfo=tzutc())
【讨论】:
您可以使用datetime.strptime(date_string, format) 解析任意格式的日期和时间,并使用here 提供的用于定义format 的语法。
在这种情况下:
format = "%Y-%m-%dT%H:%M:%S.%f%z"
注意:%z 在 Python 3.2 之前不支持 .strptime() 方法。
【讨论】:
%z 的注释 (5) 没有提到它,尽管其他注释提到了差异。我将编辑我的答案。