parsing date string in python (convert string to date)

我怕爱的太早我们不能终老 提交于 2019-11-30 15:35:42

问题


I have a datetime string in the form of a string as:

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

How do i parse this string as the datetime object.

I did the following reading the documentation:

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

BUt I get the error

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

which is very clear.

But I am not sure how to read this format.

Any suggestions. Thanks

Edit: Also, I must add, all I care about is the date part


回答1:


Standard datetime.datetime.strptime has problems with timezone definitions. Use 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))

If you care about the date part only, you can try it without dateutil.parser:

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


来源:https://stackoverflow.com/questions/10985312/parsing-date-string-in-python-convert-string-to-date

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!