我得到了一个日期时间字符串,格式类似于“2009-05-28T16:15:00”(我相信这是 ISO 8601)。一个 hackish 选项似乎是使用time.strptime元组的前六个元素解析字符串并将其传递到日期时间构造函数中,例如:
time.strptime
datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6])
我还没能找到一种“更干净”的方法来做这件事。有吗?
我更喜欢使用dateutil库进行时区处理和一般可靠的日期解析。如果您要获得ISO 8601如下字符串:2010-05-08T23:41:54.000Z使用 strptime 解析它会很有趣,特别是如果您事先不知道是否包含时区。pyiso8601在使用过程中遇到了几个问题(检查其跟踪器),并且几年都没有更新。相比之下,dateutil 一直很活跃并且对我有用:
ISO 8601
2010-05-08T23:41:54.000Z
pyiso8601
from dateutil import parser yourdate = parser.parse(datestring)