为什么找不到 Python 日期时间时间增量?

Why is Python datetime time delta not found?

我正在尝试以 mmddyyyy 格式制作一组日期。日期将从当天开始,然后到未来两周。所以这一切都取决于开始日期。当我 运行 我的代码时,我收到一条错误消息:

Traceback (most recent call last):
File "timeTest.py", line 8, in <module>
day = datetime.timedelta(days=i)
AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'

我不确定为什么会这样,因为在网上搜索后,我注意到人们正在以这种方式使用 'timedelta'。

这是我的代码:

import time
from datetime import datetime, date, time, timedelta

dayDates = []
today = datetime.now()
dayDates.append(today.strftime("%m%d%Y"))
for i in range(0,14):
    day = today + datetime.timedelta(days=i)
    print day

您已经导入了 timedelta。您不需要通过 datetime 访问它。

import time
from datetime import datetime, date, time, timedelta

dayDates = []
today = datetime.now()
dayDates.append(today.strftime("%m%d%Y"))
for i in range(0,14):
    day = today + timedelta(days=i)
    print day

您要调用的方法是 datetime.timedelta,如 here 所示。 datetime 是包含 timedelta.

的模块

如果您查看 import 行:

from datetime import datetime, date, time, timedelta

...您会看到您正在从 datetimeclass =12=]模块。所以,当你调用 datetime.timedelta 时,你实际上是在调用 datetime.datetime.timedelta,它不存在。

import time
from datetime import datetime, date, time, timedelta

dayDates = []
today = datetime.now()
dayDates.append(today.strftime("%m%d%Y"))
for i in range(0,14):
    day = today + datetime.timedelta(days=i)
    print day

您得到的错误是说 datetime 没有属性 timedelta。它发生了,因为你从 datetime 导入了特定的东西。现在为了访问 timedelta,您键入 timedelta 而不是 datetime.timedelta

import time
from datetime import datetime, date, time, timedelta

dayDates = []
today = datetime.now()
dayDates.append(today.strftime("%m%d%Y"))
for i in range(0,14):
    day = today + timedelta(days=i)
    print day

这样,您的代码应该可以正常工作。此外,请密切注意错误消息并尝试仔细阅读它们。如果你足够专注,你经常可以根据他们自己解决问题。