*目次 [#w09209d0] #contents *基本 [#wa1076b1] **参考情報 [#u07ff16d] -[[floatingdays: Rubyの Dateと Timeと DateTimeの比較:http://fdays.blogspot.jp/2007/12/ruby-date-time-datetime.html]] **Timeクラス [#l564fef6] -元からある組み込みクラス。 -時刻+日付を扱える。 -しかし1970年以前の日付を扱えないので、時間を使うときに限定したほうがいいのかもしれない。 **Dateクラス [#f3c87b59] -require 'date'が必要。 -日付範囲の制限がない。 **DateTimeクラス [#na4551f8] -require 'date'が必要。 -日付範囲の制限がない。 -時刻も扱える。 *Time [#g46144a6] **現在の時刻を得る [#xd72381e] Time.now **Time.localを使う [#b98461fd] Time.local(2010, 6, 20, 9, 10, 20) *Timeを文字列に変換する [#n806496d] ***to_sを使う [#lfe15383] Time.now.to_s => "Mon Jun 07 22:02:03 +0900 2010" ***strftimeを使う [#p721f167] 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 形式に変換 [#i13f17af] Time.now.strftime("%Y-%m-%d %H:%M:%S") ***strftime実例集 [#faf1c962] -yyyy-mm-dd HH:MM:SS 形式 t.strftime("%Y-%m-%d %H:%M:%S") => "2010-06-07 22:10:14" -yyyymmdd Time.now.strftime("%Y%m%d") ***yyyymmssを取得 [#w6021845] -strftimeを使う Time.now.strftime("%Y%m%d") *Date [#dfb0e1f1] **現在の日付を取得 [#w50a1061] Date.today **月末/月初を求める [#h30b1757] -[[rubyで月の月初と月末の日付をつくる - 猫も茶を飲む:http://d.hatena.ne.jp/chaoruko/20100316/1268721660]]より