【问题标题】:parsing date string in python (convert string to date)在python中解析日期字符串(将字符串转换为日期)
【发布时间】:2012-06-14 15:58:19
【问题描述】:

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

2011-10-23T08:00:00-07:00

如何将此字符串解析为日期时间对象。

我做了以下阅读文档:

date = datetime.strptime(data[4],"%Y-%m-%d%Z")

但我得到了错误

  ValueError: time data '2011-10-23T08:00:00-07:00' does not match format '%Y-%m-%d%Z'

这很清楚。

但我不确定如何阅读这种格式。

任何建议。 谢谢

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

【问题讨论】:

    标签: python datetime-parsing


    【解决方案1】:

    标准 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)
    

    【讨论】:

      最近更新 更多