TypeError: strptime() argument 1 must be str, not datetime.date
当我运行以下代码时出现上述错误。你有什么想法吗?
import datetime
from datetime import datetime, timedelta
import babel
import time
date_format = "%Y-%m-%d"
class HrPayslipEmployees(models.TransientModel):
_inherit = 'hr.payslip.employees'
@api.one
def compute_date_diff(self, ds, dt):
from datetime import datetime
d1 = datetime.strptime(ds, "%Y-%m-%d")
d1 = str(d1)
d2 = datetime.strptime(dt, "%Y-%m-%d")
d2 = str(d2)
days = (d2 - d1).days + 1
if days < 0:
days = 0
return days
但相同的代码在 Pythin 2.7 中运行完美,但上面的代码是我在 Python 3.x 上运行的
上面还提到了该程序的导入库。
提前致谢。完整的代码就在上面。
请您参考如下方法:
import datetime
from datetime import datetime, timedelta
date_format = "%Y-%m-%d"
def compute_date_diff( ds, dt):
d1 = datetime.strptime(ds, "%Y-%m-%d")
d2 = datetime.strptime(dt, "%Y-%m-%d")
days = (d2 - d1).days + 1
if days < 0:
days = 0
return days
print(compute_date_diff("2019-03-24","2019-03-25"))
这在 python3 中工作正常。您不需要将 d1 和 d2 转换为字符串来查找日期。
