我以格式(YYYY-MM-DD)
获取日期然后我想添加timedelta
mydate + timedelta(days=1)
我收到错误
coercing to Unicode: need string or buffer, datetime.timedelta found
答案 0 :(得分:6)
mydate
是一个字符串。试着这样做:
from datetime import datetime
parsed_date = datetime.strptime(mydate, "%Y-%m-%d")
new_date = parsed_date + timedelta(days=1)
答案 1 :(得分:2)
客户端发送的数据将以Unicode格式发送,您必须在服务器端解析它
datetime.srtptime(date, '%Y-%m-%d')
如果它是表单的一部分,则应在清理时自动重新格式化数据(尽管您可能需要将字段配置为接受您期望的格式)。
答案 2 :(得分:1)
您必须将字符串日期转换为python 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'