参考情報†
Timeクラス†
- 元からある組み込みクラス。
- 時刻+日付を扱える。
- しかし1970年以前の日付を扱えないので、時間を使うときに限定したほうがいいのかもしれない。
Dateクラス†
- require 'date'が必要。
- 日付範囲の制限がない。
DateTimeクラス†
- require 'date'が必要。
- 日付範囲の制限がない。
- 時刻も扱える。
Time†
現在の時刻を得る†
Time.now
Time.localを使う†
Time.local(2010, 6, 20, 9, 10, 20)
Timeを文字列に変換する†
to_sを使う†
Time.now.to_s
=> "Mon Jun 07 22:02:03 +0900 2010"
strftimeを使う†
Time#strftime("書式文字列")。書式は次の文字の組み合わせ。
- %A: 曜日の名称(Sunday, Monday ... )
- %a: 曜日の省略名(Sun, Mon ... )
- %B: 月の名称(January, February ... )
- %b: 月の省略名(Jan, Feb ... )
- %c: 日付と時刻
- %d: 日(01-31)
- %H: 24時間制の時(00-23)
- %I: 12時間制の時(01-12)
- %j: 年中の通算日(001-366)
- %M: 分(00-59)
- %m: 月を表す数字(01-12)
- %p: 午前または午後(AM,PM)
- %S: 秒(00-60) (60はうるう秒)
- %U: 週を表す数。最初の日曜日が第1週の始まり(00-53)
- %W: 週を表す数。最初の月曜日が第1週の始まり(00-53)
- %w: 曜日を表す数。日曜日が0(0-6)
- %X: 時刻
- %x: 日付
- %Y: 西暦を表す数
- %y: 西暦の下2桁(00-99)
- %Z: タイムゾーン trap
- %%: %自身
yyyy-mm-ss HH:MM:SS 形式に変換†
Time.now.strftime("%Y-%m-%d %H:%M:%S")
=> "2010-06-07 22:10:14"
Date†
現在の日付を取得†
Date.today
月末/月初を求める†