web-dev-qa-db-ja.com

なぜPython datetime time deltaが見つかりませんか?

日付の配列をmmddyyyy形式で作成しようとしています。日付は現在の日に始まり、2週間先に進みます。そのため、すべては開始日によって異なります。コードを実行すると、次のようなエラーが表示されます。

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'

オンラインで検索した後、人々がこのように「タイムデルタ」を使用していることに気付いたので、なぜこれが起こっているのか分かりません。

ここに私のコードがあります:

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
11
questionier
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にアクセスするには、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

そのように、コードは適切に動作するはずです。また、エラーメッセージに注意を払い、注意深く読んでください。十分に焦点を合わせれば、多くの場合、自分でそれらに基づいて問題を解決できます。

22
fulaphex

既に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
3
Falmarri

呼び出すメソッドは、 here のようにdatetime.timedeltaです。 datetimeは、timedeltaを含むモジュールです。

import行を見ると:

from datetime import datetime, date, time, timedelta

... datetimeモジュールからdatetimeclassをインポートしていることがわかります。したがって、datetime.timedeltaを呼び出すと、実際にはdatetime.datetime.timedeltaが呼び出されますが、これは存在しません。

1
touch my body