解析python中的日期字符串(将字符串转换为日期)

时间:2012-06-11 18:09:53

标签: python datetime-parsing

我有一个字符串形式的日期时间字符串:

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'

非常清楚。

但我不知道如何阅读这种格式。

任何建议。 感谢

编辑:另外,我必须补充一下,我关心的只是日期部分

1 个答案:

答案 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)