Time.patch

eiel (Tomohiko Himura), 09/05/2010 04:21 pm

Download (3.1 kB)

b/refm/api/src/_builtin/Time
362 362

  
363 363
@param format フォーマット文字列を指定します。使用できるものは 以下の通りです。
364 364

  
365
#@since 1.9.1
366
  * %A: 曜日の名称(Sunday, Monday ... )
367
  * %a: 曜日の省略名(Sun, Mon ... )
368
  * %B: 月の名称(January, February ... )
369
  * %b: 月の省略名(Jan, Feb ... )
370
  * %C: 世紀 (2009年であれば 20)
371
  * %c: 日付と時刻
372
  * %D: 日付 (%m/%d/%y)
373
  * %d: 日(01-31)
374
  * %e: 日。一桁の場合、半角空白で埋める ( 1..31)
375
  * %F: %Y-%m-%d と同等 (ISO 8601の日付フォーマット)
376
  * %H: 24時間制の時(00-23)
377
  * %h: %b と同等
378
  * %I: 12時間制の時(01-12)
379
  * %j: 年中の通算日(001-366)
380
  * %k: 24時間制の時。一桁の場合、半角空白で埋める ( 0..23)
381
  * %L: ミリ秒 (000.999)
382
  * %l: 12時間制の時。一桁の場合、半角空白で埋める ( 0..12)
383
  * %M: ʬ(00-59)
384
  * %m: 月を表す数字(01-12)
385
  * %n: 改行 (\n)
386
  * %N: 秒の小数点以下。桁の指定がない場合は9桁 (ナノ秒)、%6N: マイクロ秒 (6桁)、%3N: ミリ秒 (3桁)
387
  * %P: 午前または午後(am,pm)
388
  * %p: 午前または午後(AM,PM)
389
  * %R: 24時間制の時刻。%H:%M と同等。
390
  * %r: 12時間制の時刻。%I:%M:%S %p と同等。
391
  * %S: 秒(00-60) (60はうるう秒)
392
  * %s: 1970-01-01 00:00:00 UTC からの経過秒
393
  * %T: 24時間制の時刻。%H:%M:%S と同等。
394
  * %t: タブ文字 (\t)
395
  * %U: 週を表す数。最初の日曜日が第1週の始まり(00-53)
396
  * %u: 月曜日を1とした、曜日の数値表現 (1..7)
397
  * %v: VMS形式の日付 (%e-%b-%Y)
398
  * %V: ISO 8601形式の暦週 (01..53)
399
  * %W: 週を表す数。最初の月曜日が第1週の始まり(00-53)
400
  * %w: 曜日を表す数。日曜日が0(0-6)
401
  * %X: 時刻
402
  * %x: 日付
403
  * %Y: 西暦を表す数
404
  * %y: 西暦の下2桁(00-99)
405
  * %Z: タイムゾーン  [[unknown:trap|trap::Time]]
406
  * %z: タイムゾーン。UTCからのオフセット (例 +0900)
407
  * %%: %自身
408
#@else
365 409
  * %A: 曜日の名称(Sunday, Monday ... )
366 410
  * %a: 曜日の省略名(Sun, Mon ... )
367 411
  * %B: 月の名称(January, February ... )
......
384 428
  * %y: 西暦の下2桁(00-99)
385 429
  * %Z: タイムゾーン  [[unknown:trap|trap::Time]]
386 430
  * %%: %自身
431
#@end
387 432

  
433
#@since 1.9.1
434
このメソッドは [[man:strftime(3)]] や glibcの仕様を参考に作成されており、以下のオプションが利用できます。
435
  * ^: 大文字で出力を行なう
436
  * #: 小文字であれば大文字に、大文字であれば小文字に変更する
437
  * -: 左寄せにする(0埋めや空白埋めを行わない)
438
  * _: 空白埋めにする
439
  * 0: 0埋めにする
440
  * 数値: 表示桁数を指定する
441

  
442
  t = Time.now                         #=> 2010-09-05 15:41:17 0900
443
  t.strftime("Printed on %m/%d/%Y")    #=> "Printed on 09/05/2010"
444
  t.strftime("Printed on %m/%-d/%_6Y") #=> "Printed on 09/5/  2010"
445
  t.strftime("at %I:%M%p")             #=> "at 03:41PM"
446
  t.strftime("at %I:%M%#p")            #=> "at 03:41pm"
447
#@else
388 448
現在の実装では、このメソッドは、システムの [[man:strftime(3)]]
389 449
をそのまま使用しています。そのためここにあげた指示子以外のものが使
390 450
用できる場合があります。ただし、上記以外の指示子を使用した場合、移
......
393 453
  t = Time.now
394 454
  t.strftime("Printed on %m/%d/%Y")   #=> "Printed on 04/09/2003"
395 455
  t.strftime("at %I:%M%p")            #=> "at 08:56AM"
456
#@end
396 457

  
397 458
--- sec    -> Integer
398 459