2017-02-20 79 views
0

我試圖將字符串轉換成DateTime對象...將字符串轉換爲datetime對象在Python

time = '10:00:00' 
date = '2016-10-03' 
date = date + ' ' + time 
print date 
date = datetime.strptime(date, '%Y-%m-%d %H:%M:%y') 
print date 

這種打印出:

2016-10-03 10:00:00 
2000-10-03 10:00:00 

由於某種原因,它改變了一年日期..

當我這樣做:

date = '2016-10-03' 
date = datetime.strptime(date, '%Y-%m-%d') 
print date 

它的工作原理正確,我也得到:

2016-10-03 

爲什麼當我加入的時間在那裏它改變了一年?

感謝

+1

最後的%y應該是時間的%S - >秒而不是年份。 @麥克格雷迪擊敗了我!乾杯! –

回答

5

試試這個:

time = '10:00:00'          
date = '2016-10-03'          
date = date + ' ' + time         
print date            
print datetime.strptime(date, '%Y-%m-%d %H:%M:%S')  

%Y年沒有世紀的零填充的十進制數。
%Y作爲十進制數的世紀。

看來你只是拼錯了。也許你想要的是%Y-%m-%d %H:%M:%S'

datetime Python查看更多詳情。希望這有所幫助。

+0

菜鳥錯誤!謝謝! – nrs90

+0

@ nrs90如果這是答案,你能接受嗎?給答覆者更多的代表,然後這個問題被標記爲解決 – WhatsThePoint

+0

@McGrady多數民衆贊成在做,謝謝。 – nrs90