日付の配列を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
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
そのように、コードは適切に動作するはずです。また、エラーメッセージに注意を払い、注意深く読んでください。十分に焦点を合わせれば、多くの場合、自分でそれらに基づいて問題を解決できます。
既に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
呼び出すメソッドは、 here のようにdatetime.timedelta
です。 datetime
は、timedelta
を含むモジュールです。
import
行を見ると:
from datetime import datetime, date, time, timedelta
... datetime
モジュールからdatetime
classをインポートしていることがわかります。したがって、datetime.timedelta
を呼び出すと、実際にはdatetime.datetime.timedelta
が呼び出されますが、これは存在しません。