文字列を datetime型にする方法
strptimeメソッドの引数に文字列の日時と、フォーマットを渡します。
import datetime
datetime値 = datetime.datetime.strptime('文字列の日時', 'フォーマット')
文字列'2099年1月31日 21時13分24秒' を datetimeにするサンプルコード
import datetime
# '2099年1月31日 21時13分24秒'をdatetimeに
strDateValue = '2099年1月31日 21時13分24秒'
dateValue = datetime.datetime.strptime(strDateValue, '%Y年%m月%d日 %H時%M分%S秒')
フォーマットで使用できる文字
ディレクティブ |
意味 |
例 |
%d |
日にち |
01, 02, ..., 31 |
%m |
月 |
01, 02, ..., 12 |
%y |
2桁の西暦 |
00, 01, ..., 99 |
%Y |
4桁の西暦 |
0001, 0002, ..., 9999 |
%H |
時 (24時間表記) |
00, 01, ..., 23 |
%M |
分 |
00, 01, ..., 59 |
%S |
秒 |
00, 01, ..., 59 |
%f |
0埋めした6桁のマイクロ秒 |
000000, 000001, ..., 999999 |
%z |
UTCオフセット |
(空文字列), +0000, -0400, +1030, +063415, -030712.345216 |
%Z |
タイムゾーンの名前 |
(空文字列), UTC, GMT |
%% |
文字 '%' |
% |
次のフォーマットはロケール設定で受け付ける文字列が変わるため、注意してください
ディレクティブ |
意味 |
例 |
%b |
月名の短縮形 |
Jan, Feb, ..., Dec(en_USの場合) |
%B |
月名 |
January, February, ..., December(en_USの場合) |
%I |
時 (12時間表記) |
01, 02, ..., 12 |
%p |
ロケール設定のAM,またはPMと同じ文字列 |
AM, PM(en_USの場合) |
その他の書式はPython公式ドキュメントを参照してください。
0埋めと0埋め無し
月(%m)、日(%d)、時(%H)、分(%M)、秒(%S)は 0埋めと0埋め無し、どちらも正しく認識します。
マイクロ秒(%f)は '1' と '000001' を指定したときに結果が異なり、'1' のときは '100000' として認識されるので注意してください。
import datetime
# 結果 = 2099-01-02 01:02:03.400000
dateValue = datetime.datetime.strptime('2099/1/2 1:2:3 4', '%Y/%m/%d %H:%M:%S %f')
# 結果 = 2099-01-02 01:02:03.000004
dateValue = datetime.datetime.strptime('2099/01/02 01:02:03 000004', '%Y/%m/%d %H:%M:%S %f')
2桁の年(%y)
テストした環境では '68/01/01' は 2068年、'68/01/01' は 1969年 と認識されました。システム年などの要素で変動する可能性があるため、使用するときは注意してください。
import datetime
# 結果 = 2001-01-01 00:00:00
dateValue = datetime.datetime.strptime('01/01/01', '%y/%m/%d')
# 結果 = 2068-01-01 00:00:00
dateValue = datetime.datetime.strptime('68/01/01', '%y/%m/%d')
# 結果 = 1969-01-01 00:00:00
dateValue = datetime.datetime.strptime('69/01/01', '%y/%m/%d')
# 結果 = 1999-01-01 00:00:00
dateValue = datetime.datetime.strptime('99/01/01', '%y/%m/%d')
サンプルコードの実行結果
参考資料
検証環境
-
Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32
-
Microsoft Windows 10 Pro Version 21H2 OS Build 19044.2130 Experience: Windows Feature Experience Pack 120.2212.4180.0