1. ホーム
  2. パイソン

[解決済み】文字列をdatetimeに変換する

2022-03-18 23:26:16

質問

このような日付時刻の巨大なリストを文字列として持っています。

Jun 1 2005  1:33PM
Aug 28 1999 12:00AM

これらをデータベースの適切なdatetimeフィールドに戻すつもりなので、本当のdatetimeオブジェクトにマジックで変換する必要があります。

これは Django の ORM を通して行われるので、挿入時に SQL で変換することはできません。

どのように解決するのですか?

datetime.strptime は、文字列を日付時間にパースするためのメインルーチンです。これはあらゆる種類のフォーマットを扱うことができ、フォーマットは与えられたフォーマット文字列によって決定される。

from datetime import datetime

datetime_object = datetime.strptime('Jun 1 2005  1:33PM', '%b %d %Y %I:%M%p')

その結果 datetime オブジェクトはタイムゾーンに影響されません。

リンク集です。

注意事項

  • strptime = "文字列パース時間"。
  • strftime = "文字列フォーマット時間"
  • 今日、声に出して発音してみよう。6ヶ月後には、もう検索する必要はない。

また、@Izkata さんのコメントにあるように、datetime ではなく日付が欲しい場合、datetime を通すとうまく処理されます: datetime.strptime('Jun 1 2005', '%b %d %Y').date() == date(2005, 6, 1)