Skip to main content
 首页 » 编程设计

python之将天数添加到日期时间

2025年05月04日12xxx_UU

我不想添加到计划日期整数。它总是从 1 到 10,但我的代码有问题。

planned_date = fields.Date(string='Planned Date', required=False, 
                           default=fields.Date.today) 
def linedate(self):     
    if line.discount > 5: 
        
        daysz = line.product_id.seller_ids[0].delay # it's integer from 1 to 10 always 
    
        planned = (line.planned_date + timedelta(days=daysz) ).strftime('%Y-%m-%d') 
        line.planned_date =  planned 
        print line.planned_date 

我遇到了这种错误

planned = (line.planned_date + timedelta(days=daysz) ).strftime('%Y-%m-%d')

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

请您参考如下方法:

line.planned_date 是一个 Unicode 字符串对象。您需要将其转换为日期时间对象,然后使用 timedelta 添加。

例如:

import datetime 
planned = (datetime.datetime.strptime(line.planned_date, '%Y-%m-%d') + datetime.timedelta(days=daysz) ).strftime('%Y-%m-%d')