この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:T
更新日時:2020-05-05 16:42:27

タイトル: can only concatenate str (not "datetime.datetime") to str
SEOタイトル: 【Pythonエラー】can only concatenate str (not "datetime.datetime") to str

この記事の要点
  • Python の can only concatenate str (not "datetime.datetime") to str
  • 原因: datetime オブジェクトをそのまま str と + で連結
  • 対処: str(dt) または dt.strftime("%Y-%m-%d %H:%M:%S") でフォーマット
  • f-string なら f"{dt:%Y-%m-%d}" が読みやすい

 

エラー内容

can only concatenate str (not "datetime.datetime") to str

 

発生条件/原因/対処法

以下のようにdatetime型を文字列型に変換しようとしていることが原因。

datetime_now = datetime.datetime.now()

logger.info("datetime_now: " + datetime_now)

 

解決策は以下のように決められたメソッドでdatetime型から文字列型への変換を行うこと。

datetime_now = datetime.datetime.now()

datetime_now_str = datetime_now.strftime('%Y/%m/%d %H:%M:%S')

logger.info("datetime_now_str: " + datetime_now_str)

 

以下、出力例。

datetime_now_str: 2020/05/05 16:40:33