简体   繁体   English

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

[英]Why is Python datetime time delta not found?

I am trying to make an array of dates in mmddyyyy format. 我想用mmddyyyy格式制作一系列日期。 The dates will start on the current day and then go two weeks into the future. 日期将从当天开始,然后在未来两周内开始。 So it all depends on the starting date. 所以这一切都取决于开始日期。 When I run my code I get an error that states: 当我运行我的代码时,我得到一个错误,指出:

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'

I am not sure why this is happening because after searching online, I noticed that people are using the 'timedelta' in this way. 我不确定为什么会这样,因为在网上搜索后,我注意到人们正在以这种方式使用'timedelta'。

Here is my code: 这是我的代码:

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
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

The error that you are getting says, that datetime has no attribute timedelta . 你得到的错误是, datetime没有属性timedelta It happens, because you have imported from datetime specific things. 它发生了,因为你从datetime特定的东西导入。 In order to access timedelta now you type timedelta instead of datetime.timedelta . 现在,您可以键入timedelta而不是datetime.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 + timedelta(days=i)
    print day

Like that, your code should work properly. 像那样,你的代码应该正常工作。 Also, pay closer attention to the error messages and try to read them carefully. 另外,请密切注意错误消息并尝试仔细阅读。 If you focus enough, you often can sort out the problem basing on them on your own. 如果你足够专注,你通常可以自己解决问题。

You already imported timedelta . 你已经导入了timedelta You don't need to access it through 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

The method you want to call is datetime.timedelta , as seen here . 你要调用的方法是datetime.timedelta ,因为看到这里 datetime is the module containing timedelta . datetime是包含timedelta的模块。

If you look at your import line: 如果你看看你的import线:

from datetime import datetime, date, time, timedelta

...you'll see you're importing the datetime class from the datetime module. ...你会看到你从datetime模块导入datetime So, when you call datetime.timedelta , you're actually calling datetime.datetime.timedelta , which doesn't exist. 所以,当你调用datetime.timedelta ,你实际上是在调用datetime.datetime.timedelta ,它不存在。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM