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

Moh*_*hit 6 python datetime-parsing

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

2011-10-23T08:00:00-07:00
Run Code Online (Sandbox Code Playgroud)

我如何解析此字符串作为日期时间对象.

我做了以下阅读文档:

date = datetime.strptime(data[4],"%Y-%m-%d%Z")
Run Code Online (Sandbox Code Playgroud)

我得到了错误

  ValueError: time data '2011-10-23T08:00:00-07:00' does not match format '%Y-%m-%d%Z'
Run Code Online (Sandbox Code Playgroud)

这很清楚.

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

有什么建议.谢谢

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

eum*_*iro 26

标准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))
Run Code Online (Sandbox Code Playgroud)

如果您只关心日期部分,可以在没有dateutil.parser的情况下尝试:

>>> from datetime import datetime
>>> datetime.strptime(data[4].partition('T')[0], '%Y-%m-%d').date()
datetime.date(2011, 10, 23)
Run Code Online (Sandbox Code Playgroud)