我有一个字符串形式的日期时间字符串:
2011-10-23T08:00:00-07:00
如何将此字符串解析为datetime对象。
我做了以下阅读文档:
date = datetime.strptime(data[4],"%Y-%m-%d%Z")
BUt我收到错误
ValueError: time data '2011-10-23T08:00:00-07:00' does not match format '%Y-%m-%d%Z'
非常清楚。
但我不知道如何阅读这种格式。
任何建议。 感谢
编辑:另外,我必须补充一下,我关心的只是日期部分
答案 0 :(得分:25)
标准datetime.datetime.strptime存在时区定义问题。使用dateutil.parser
>>> from dateutil import parser
>>> parser.parse("2011-10-23T08:00:00-07:00")
datetime.datetime(2011, 10, 23, 8, 0, tzinfo=tzoffset(None, -25200))
如果您只关心日期部分,可以在没有dateutil.parser的情况下尝试:
>>> from datetime import datetime
>>> datetime.strptime(data[4].partition('T')[0], '%Y-%m-%d').date()
datetime.date(2011, 10, 23)