Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Timeクラス > strftime

instance method Time#strftime

strftime(format) -> String

時刻を format 文字列に従って文字列に変換した結果を返します。

[PARAM] format:
フォーマット文字列を指定します。使用できるものは 以下の通りです。
  • %A: 曜日の名称(Sunday, Monday ... )
  • %a: 曜日の省略名(Sun, Mon ... )
  • %B: 月の名称(January, February ... )
  • %b: 月の省略名(Jan, Feb ... )
  • %C: 世紀 (2009年であれば 20)
  • %c: 日付と時刻
  • %D: 日付 (%m/%d/%y)
  • %d: 日(01-31)
  • %e: 日。一桁の場合、半角空白で埋める ( 1..31)
  • %F: %Y-%m-%d と同等 (ISO 8601の日付フォーマット)
  • %H: 24時間制の時(00-23)
  • %h: %b と同等
  • %I: 12時間制の時(01-12)
  • %j: 年中の通算日(001-366)
  • %k: 24時間制の時。一桁の場合、半角空白で埋める ( 0..23)
  • %L: ミリ秒 (000.999)
  • %l: 12時間制の時。一桁の場合、半角空白で埋める ( 0..12)
  • %M: 分(00-59)
  • %m: 月を表す数字(01-12)
  • %n: 改行 (\n)
  • %N: 秒の小数点以下。桁の指定がない場合は9桁 (ナノ秒)、%6N: マイクロ秒 (6桁)、%3N: ミリ秒 (3桁)
  • %P: 午前または午後(am,pm)
  • %p: 午前または午後(AM,PM)
  • %R: 24時間制の時刻。%H:%M と同等。
  • %r: 12時間制の時刻。%I:%M:%S %p と同等。
  • %S: 秒(00-60) (60はうるう秒)
  • %s: 1970-01-01 00:00:00 UTC からの経過秒
  • %T: 24時間制の時刻。%H:%M:%S と同等。
  • %t: タブ文字 (\t)
  • %U: 週を表す数。最初の日曜日が第1週の始まり(00-53)
  • %u: 月曜日を1とした、曜日の数値表現 (1..7)
  • %v: VMS形式の日付 (%e-%b-%Y)
  • %V: ISO 8601形式の暦週 (01..53)
  • %W: 週を表す数。最初の月曜日が第1週の始まり(00-53)
  • %w: 曜日を表す数。日曜日が0(0-6)
  • %X: 時刻
  • %x: 日付
  • %Y: 西暦を表す数
  • %y: 西暦の下2桁(00-99)
  • %Z: タイムゾーン
  • %z: タイムゾーン。UTCからのオフセット (例 +0900)
  • %:z: タイムゾーン。コロンが入ったUTCからのオフセット (例 +09:00)
  • %::z: タイムゾーン。コロンが入った秒まで含むUTCからのオフセット (例 +09:00:00)
  • %%: %自身

このメソッドは strftime(3) や glibcの仕様を参考に作成されており、以下のオプションが利用できます。

  • ^: 大文字で出力を行なう
  • #: 小文字であれば大文字に、大文字であれば小文字に変更する
  • -: 左寄せにする(0埋めや空白埋めを行わない)
  • _: 空白埋めにする
  • 0: 0埋めにする
  • 数値: 表示桁数を指定する
t = Time.now                         #=> 2010-09-05 15:41:17 0900
t.strftime("Printed on %m/%d/%Y")    #=> "Printed on 09/05/2010"
t.strftime("Printed on %m/%-d/%_6Y") #=> "Printed on 09/5/  2010"
t.strftime("at %I:%M%p")             #=> "at 03:41PM"
t.strftime("at %I:%M%#p")            #=> "at 03:41pm"
class Time