2013-10-18 42 views
2

我在格式獲取日期(YYYY-MM-DD)Django的日期YYYY-MM-DD

然後我想補充timedelta

mydate + timedelta(days=1) 

,我得到錯誤

coercing to Unicode: need string or buffer, datetime.timedelta found 

回答

5

mydate是一個字符串。試着這樣做:

from datetime import datetime 
parsed_date = datetime.strptime(mydate, "%Y-%m-%d") 

new_date = parsed_date + timedelta(days=1) 
2

數據通過客戶端發送的將被作爲一個Unicode,你必須分析它在服務器端

datetime.srtptime(date, '%Y-%m-%d') 

如果它是一個形式的一部分,該數據應被重新格式化自動清理時(儘管您可能需要配置字段以接受您期望的格式)。

1

你有你的字符串轉換日期蟒蛇datetime

>>> from datetime import datetime, timedelta 
>>> dt_str = "2013/10/11" 
>>> dt = datetime.strptime(dt_str, "%Y/%m/%d") 
>>> new_dt = dt + timedelta(days=1) 
>>> print new_dt 
datetime.datetime(2013, 10, 12, 0, 0) 

如果你現在想要得到的日期字符串:

>>> print new_dt.strftime("%Y/%m/%d") 
'2013/10/12' 
+0

他使用的格式爲「%Y-%M - %d」 – yuvi

相關問題