类型错误:一个整数是必需的(得到类型元组)日期时间 Python



我试图获取两个日期之间的天数。这是我的代码:

from datetime import date, timedelta
def days_diff(a, b):
f = date(a)
s = date(b)
return abs(f-s)
print(days_diff((2014, 8, 27), (2014, 1, 1)))

但是我收到此错误:

TypeError: an integer is required (got type tuple)

我想知道为什么?我导入了日期和时间增量。谁能帮忙?提前致谢

您遇到了错误,因为您将元组传递给了date(),该元组接受值而不是元组。
试试这个:

def days_diff(a, b):
f = date(*a)
s = date(*b)
print(f,s)
return abs(f-s)

现在称之为:

print(days_diff((2014, 8, 27), (2014, 1, 1)))

这将为您提供:

2014-08-27 2014-01-01
238 days, 0:00:00

*取出传递的元组的值(解压缩元组)。


要单独获得日子,请使用.days

return print(abs(f-s).days)

你需要将 3 个参数传递给date(),而不是tuple。您可以使用以下命令解压缩函数中的元组:

f = date(*a)
s = date(*b)

相关内容

  • 没有找到相关文章

最新更新