我正在尝试以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
答案 0 :(得分:17)
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
就像那样,你的代码应该正常工作。另外,请密切注意错误消息并尝试仔细阅读。如果你足够专注,你通常可以自己解决问题。
答案 1 :(得分:3)
您已导入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
答案 2 :(得分:1)
您要调用的方法是datetime.timedelta
,如here所示。 datetime
是包含timedelta
的模块。
如果您查看import
行:
from datetime import datetime, date, time, timedelta
...您会看到您从datetime
模块导入datetime
类 。因此,当您致电datetime.timedelta
时,您实际上正在调用datetime.datetime.timedelta
,而该className={"control-label text-sm-right col-sm-"+this.state.columns[0]}
不存在。