尝试循环一系列日期,但获取对象不是callab

2024-04-27 00:12:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着循环一系列的日期,并将结果存储在一个列表中。你知道吗

我收到以下错误消息:

TypeError: 'datetime.timedelta' object is not callable

start = date.today() - timedelta(days=1)
dateList = []
end = 30
for i in range(0, end, 1):
    dateList.append(start - timedelta(days=i))

Tags: 消息列表datetimedateobjectis错误not
2条回答

Timedelta返回组成tuple对象的部分(天、秒、微秒)。必须提取一个元素,以便在开始变量赋值中用于加减运算

可以使用单独访问它们

var.days, var.seconds, var.microseconds

您也没有为代码导入datetime模块。我推荐这个代码。你知道吗

import datetime

td = datetime.timedelta(days=1)
start = datetime.today() - td.days
....
td = datetime.timedelta(days=i)
dateList.append(start - td.days)

您需要导入“datetime”模块才能使此代码正常工作。如果键入:

from datetime import *

在代码的顶端,它就会工作。但是,这种导入在Python中被认为是不好的做法,因此最好直接引用“datetime”模块:

import datetime

start = datetime.date.today() - datetime.timedelta(days=1)
dateList = []
end = 30
for i in range(0, end, 1):
    dateList.append(start - datetime.timedelta(days=i))

相关问题 更多 >