小能豆

如何将 ISO 8601 日期时间字符串转换为 Python 日期时间对象?

javascript

我得到了一个日期时间字符串,格式类似于“2009-05-28T16:15:00”(我相信这是 ISO 8601)。一个 hackish 选项似乎是使用time.strptime元组的前六个元素解析字符串并将其传递到日期时间构造函数中,例如:

datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6])

我还没能找到一种“更干净”的方法来做这件事。有吗?


阅读 29

收藏
2024-07-04

共1个答案

小能豆

我更喜欢使用dateutil库进行时区处理和一般可靠的日期解析。如果您要获得ISO 8601如下字符串:2010-05-08T23:41:54.000Z使用 strptime 解析它会很有趣,特别是如果您事先不知道是否包含时区。pyiso8601在使用过程中遇到了几个问题(检查其跟踪器),并且几年都没有更新。相比之下,dateutil 一直很活跃并且对我有用:

from dateutil import parser
yourdate = parser.parse(datestring)
2024-07-04