2011-12-03 19 views
4

我如何將我的日期字符串轉換爲python中的datetime.timedelta()?如何將字符串轉換爲datetime.timedelta()?

我有這樣的代碼:

import datetime 

date_select = '2011-12-1' 
delta = datetime.timedelta(days=1) 
target_date = date_select + delta 
print target_date 

在此先感謝...

+0

您發佈的代碼有什麼問題?你的問題根本不符合示例代碼。該問題詢問了如何創建'timedelta',但代碼創建了一個'datetime'。你在問什麼? –

回答

9

你不會轉換date_selecttimedelta,相反,你需要一個datetime對象,它可以添加到一個timedelta,以產生更新datetime對象:

from datetime import datetime, timedelta 

date_select = datetime.strptime('2011-12-1', '%Y-%m-%d') 
delta = timedelta(days=1) 
target_date = date_select + delta 
print target_date 

或者,如果您更喜歡,沒有花哨from ... import ...進口產品線:

import datetime # <- LOOK HERE, same as in your example 

date_select = datetime.datetime.strptime('2011-12-1', '%Y-%m-%d') 
delta = datetime.timedelta(days=1) 
target_date = date_select + delta 
print target_date 
+0

感謝您的回覆亞當,但它也不工作..我得到這個錯誤:'AttributeError:類型對象'datetime.datetime'沒有屬性'timedelta''你有什麼想法? – gadss

+1

@gadss,對不起,這是因爲我從datetime導入了timedelta。你可以使用你的原始導入行,並將strptime改爲'datetime.datetime.strptime(...)'或將你的timedelta行改爲'timedelta(...)'(注意,不要使用'datetime.')。我給出的例子應該可以工作。 –

+0

啊我現在得到它亞當..謝謝^ _^ – gadss

0

您使用strptime做到這一點。

from datetime import datetime 

target_date = datetime.strptime(date_select, '%Y-%m-%d') 
+0

感謝您的回覆,但它不能正常工作 – gadss

+0

您可以更具體嗎?你會得到什麼錯誤? – Blender

+0

'AttributeError:類型對象'datetime.datetime'沒有屬性'timedelta''這就是我得到的..謝謝攪拌器 – gadss