2015-10-09 105 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

請你補充一些解釋嗎? –