python - 将日期添加到日期时间
问题描述
我不想添加到计划的日期整数。它总是从 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
我收到这种错误
计划 = (line.planned_date + timedelta(days=daysz) ).strftime('%Y-%m-%d')
TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到 datetime.timedelta
解决方案
line.planned_date
是一个 Unicode 字符串对象。您需要将其转换为 datetime 对象,然后使用 timedelta 添加。
前任:
import datetime
planned = (datetime.datetime.strptime(line.planned_date, '%Y-%m-%d') + datetime.timedelta(days=daysz) ).strftime('%Y-%m-%d')
推荐阅读
- c++ - Boost 无法分配请求的地址
- node.js - joi.object(),pattern(joi.string(),joi.string()) 不工作
- python - pyplot pdf导出中的白线
- ruby-on-rails - Rails 将字符串数组转换为 Flash 的无序列表
- wordpress - 在woocommerce中自动单击“下订单”按钮
- python - 如何在输入字符串中途重新开始计数?
- swift - 如何仅在快速滚动第 1 节后滚动 tableView 第 2 节
- debugging - MSYS2 中 libgcc 的调试符号
- api - 您可以使用 Google API 进行非 G Suite 组管理吗?
- javascript - 在使用该变量之前,我如何等待函数 (toString()) 完成?