2015-10-09 77 views
0

转换为日期我想下面的字符串转换为日期蟒蛇,如何去了解这一点,蟒蛇得到从字符串

>>> 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 
+0

无论是分好输入,或使用*实际上代表了你解析*数据的格式。 – jonrsharpe

+0

什么版本的python? – sbarber2

+0

python strptime不会喜欢时区偏移片中的冒号。看看[在python中将字符串转换为datetime对象](http://stackoverflow.com/questions/2609259/converting-string-to-datetime-object-in-python) – sbarber2

回答

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) 
0
d= "1997-01-29 00:00:00" 
import datetime 
print datetime.datetime.strptime(d, "%Y-%m-%d %H:%M:%S") 
+0

请你补充一些解释吗? –