python从字符串获取并转换为日期

时间:2015-10-09 12:53:05

标签: python

我想在python中将以下字符串转换为日期,如何解决这个问题,

>>> d= "1997-01-29 00:00:00+00:00"
>>> import datetime
>>> datetime.datetime.strptime(d, '%Y-%m-%d').date()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains:  00:00:00+00:00

2 个答案:

答案 0 :(得分:0)

该错误非常明确地表明您的字符串未覆盖部分根据您尝试转换的内容而未预期。

您提供了这个:

d = "1997-01-29 00:00:00+00:00"

您正尝试根据此模式进行转换:

'%Y-%m-%d'

错误说明:

ValueError: unconverted data remains:  00:00:00+00:00

因此,您应该根据转换方式简单地删除该时间部分。我只是简单地将你的字符串更改为它并且它有效:

>>> d= "1997-01-29"
>>> datetime.datetime.strptime(d, '%Y-%m-%d').date()
datetime.date(1997, 1, 29)

答案 1 :(得分:0)

d= "1997-01-29 00:00:00"
import datetime
print datetime.datetime.strptime(d, "%Y-%m-%d %H:%M:%S")