Ruby strftimeフォーマットディレクティブリファレンス
RubyのTime#strftimeフォーマットディレクティブの完全リファレンス。パーセントベースのトークン、パディング修飾子、Pythonのstrftime実装との違いを解説。
Language-Specific
詳細な説明
Ruby strftimeディレクティブ
RubyのTime#strftimeとDate#strftimeメソッドは、C標準ライブラリから継承されたパーセント接頭辞ディレクティブを使用し、Pythonと非常に似ています。ただし、Rubyにはいくつかの追加ディレクティブと修飾フラグがあります。
Ruby固有の追加機能
%e— スペースパディングの日%k— スペースパディングの24時間制の時%l— スペースパディングの12時間制の時%P— 小文字のam/pm%L— ミリ秒(3桁)%N— ナノ秒までの端数秒(最大9桁)%:z— コロン区切りのオフセット(+09:00 vs +0900)%s— 文字列としてのUnixタイムスタンプ
修飾フラグ
%とディレクティブの間に修飾フラグをサポート:
| フラグ | 効果 | 例 |
|---|---|---|
- |
パディングなし | %-d → 3 |
_ |
スペースパディング | %_m → 2 |
0 |
ゼロパディング(デフォルト) | %0d → 03 |
^ |
大文字 | %^b → FEB |
よく使うパターン
Time.now.strftime("%Y-%m-%d %H:%M:%S") # "2026-02-28 14:30:00"
Time.now.strftime("%B %-d, %Y") # "February 28, 2026"
Time.now.strftime("%a, %d %b %Y %H:%M:%S %z") # RFC 2822
Time.now.strftime("%Y-%m-%dT%H:%M:%S%:z") # ISO 8601
ユースケース
Ruby strftimeはRailsビューテンプレートでの日付表示、Active Recordの日付スコーピング、Sidekiqジョブスケジューリングログ、APIシリアライザー、rakeタスク出力、ログローテーションやバックアップ命名のDevOpsスクリプトで使用されます。