1
0

「type object 'datetime.datetime' has no attribute 'timedelta'」が出た方へ

Posted at

そこの 「type object 'datetime.datetime' has no attribute 'timedelta'」 が出たあなた!

私も出ました…

成功例
import datetime

dt = datetime.datetime.now()

dt_JP = dt + datetime.timedelta(hours=9)

print(dt_JP)

これだと上手く行くのですが


エラーの再現
from datetime import datetime

dt = datetime.now()

dt_JP = dt + datetime.timedelta(hours=9)

print(dt_JP)
AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'

"from datetime import datetime"を使うとこうなります。

回避方法は最初のに戻すかこちら。


timedeltaインポート
from datetime import datetime, timedelta

dt = datetime.now()

dt_JP = dt + timedelta(hours=9)

print(dt_JP)

時間の計算をするといったらdatetime.timedelta(~) としてコードを書き進めてるうちになんかのコピペしてきて普段使わない "from datetime import datetime" を利用するとこうなってしまします。

"from datetime import datetime"を使う場合はdatetimeからtimedeltaをインポートしてあげましょう。

にしてもこの "import datetime""from datetime import datetime" は紛らわしい…

ここら辺はいつかちゃん勉強してみたい…と3年くらい前から思っています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0