この記事では、Pythonで文字列を時刻に変換してみます。
datetime.strptimeの説明になります。
datetime.strftimeは、以下の記事を参考にしてください。
Pythonのdatetime.strftimeでdatetime型を文字列に変換するdatetime.strptimeを使う
datetime.strptimeは文字列をdatetime型に変換する関数です。
前準備
この記事ではPythonのサンプルコードを示します。
インポートするモジュールはこちらになります。
from datetime import datetime
シンプルな時刻
日付の文字列は、以下のように変換できます。
date_str = '2024/09/01' print(date_str) print(type(date_str)) # 2024/09/01 # <class 'str'> d = datetime.strptime(date_str, '%Y/%m/%d') print(d) print(type(d)) # 2024-09-01 00:00:00 # <class 'datetime.datetime'> date_str = '2024/9/1' print(date_str) print(type(date_str)) # 2024/9/1 # <class 'str'> d = datetime.strptime(date_str, '%Y/%m/%d') print(d) print(type(d)) # 2024-09-01 00:00:00 # <class 'datetime.datetime'>
時刻付き文字列も変換できます。
date_str = '2024-09-01 12:34:56' print(date_str) print(type(date_str)) # 2024-09-01 12:34:56 # <class 'str'> d = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S') print(d) print(type(d)) # 2024-09-01 12:34:56 # <class 'datetime.datetime'>
タイムゾーン付きの時刻
タイムゾーンのUTCオフセット部分のformatは%zで受けます。
utc_str = '2024-09-01 00:00:00+00:00' # 文字列を時刻に変換する。 utc = datetime.strptime(utc_str, '%Y-%m-%d %H:%M:%S%z') print(utc) print(type(utc)) # 2024-09-01 00:00:00+00:00 # <class 'datetime.datetime'> jst_str = '2024-09-01 00:00:00+09:00' # 文字列を時刻に変換する。 jst = datetime.strptime(jst_str, '%Y-%m-%d %H:%M:%S%z') print(jst) print(type(jst)) # 2024-09-01 00:00:00+09:00 # <class 'datetime.datetime'>
マイクロ秒付きの時刻
マイクロ秒部分のformatは%fで受けます。
jst_str = '2024-09-01 20:00:00.123456+09:00' jst = datetime.strptime(jst_str, '%Y-%m-%d %H:%M:%S.%f%z') print(jst) print(type(jst)) # 2024-09-01 20:00:00.123456+09:00 # <class 'datetime.datetime'>