diff --git a/refm/api/src/_builtin/Time b/refm/api/src/_builtin/Time index a48ef55..f023641 100644 --- a/refm/api/src/_builtin/Time +++ b/refm/api/src/_builtin/Time @@ -362,6 +362,50 @@ self @param format フォーマット文字列を指定します。使用できるものは 以下の通りです。 +#@since 1.9.1 + * %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: タイムゾーン [[unknown:trap|trap::Time]] + * %z: タイムゾーン。UTCからのオフセット (例 +0900) + * %%: %自身 +#@else * %A: 曜日の名称(Sunday, Monday ... ) * %a: 曜日の省略名(Sun, Mon ... ) * %B: 月の名称(January, February ... ) @@ -384,7 +428,23 @@ self * %y: 西暦の下2桁(00-99) * %Z: タイムゾーン [[unknown:trap|trap::Time]] * %%: %自身 +#@end +#@since 1.9.1 +このメソッドは [[man: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" +#@else 現在の実装では、このメソッドは、システムの [[man:strftime(3)]] をそのまま使用しています。そのためここにあげた指示子以外のものが使 用できる場合があります。ただし、上記以外の指示子を使用した場合、移 @@ -393,6 +453,7 @@ self t = Time.now t.strftime("Printed on %m/%d/%Y") #=> "Printed on 04/09/2003" t.strftime("at %I:%M%p") #=> "at 08:56AM" +#@end --- sec -> Integer