Django约会YYYY-MM-DD

时间:2013-10-18 21:03:09

标签: python django

我以格式(YYYY-MM-DD)

获取日期

然后我想添加timedelta

    mydate + timedelta(days=1)

我收到错误

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

3 个答案:

答案 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'