Python strftimeとstrptimeのフォーマットコード

Pythonのstrftimeおよびstrptimeフォーマットコードの完全リファレンス。datetimeモジュールによる日付のフォーマットとパースのパーセントディレクティブ構文を解説。

Language-Specific

詳細な説明

Python strftime / strptimeフォーマットコード

Pythonのdatetimeモジュールは、フォーマット(strftime)とパース(strptime)の両方にパーセント接頭辞のディレクティブを使用します。この構文はC標準ライブラリに由来し、RubyやPerlでも使用されています。

主なディレクティブ

ディレクティブ 意味
%Y 年(4桁) 2026
%y 年(2桁) 26
%m 月(ゼロパディング) 02
%-m 月(パディングなし) 2
%B 月名(完全) February
%b 月名(略語) Feb
%d 日(ゼロパディング) 28
%A 曜日名(完全) Saturday
%a 曜日名(略語) Sat
%H 24時間制の時 14
%I 12時間制の時 02
%M 30
%S 00
%p AM/PM PM
%j 年内日数 059
%z UTCオフセット +0900

フォーマット vs パース

from datetime import datetime

# フォーマット(datetime → 文字列)
dt = datetime(2026, 2, 28, 14, 30, 0)
dt.strftime("%Y-%m-%d %H:%M:%S")  # "2026-02-28 14:30:00"

# パース(文字列 → datetime)
datetime.strptime("2026-02-28 14:30:00", "%Y-%m-%d %H:%M:%S")

プラットフォーム固有のディレクティブ

%-接頭辞(例:%-d%-m)はLinux/macOSではゼロパディングを除去しますが、Windowsではサポートされていません。Windowsでは代わりに%#d%#mを使用してください。

ユースケース

Python strftimeパターンは、ロギング設定、Django/Flaskテンプレートの日付レンダリング、pandasによるデータサイエンスレポート生成、CSV/Excelの日付列フォーマット、cronジョブ出力、外部APIやファイル名からの日付パースに不可欠です。

試してみる — Date Format Reference & Tester

フルツールを開く