Hatena::Groupauautech

yayuguのにっき@auautech

2009-10-03

Rubyでの日時の扱い

| 13:31

TimeクラスとDateクラスとDateTimeクラスがあるみたいで、DateTimeはDateのサブクラスとなっています。使い分けに悩んだのですが、

  • 時間を扱いたいときはTime
  • 年月日を扱いたいときはDate
  • 主として年月日を扱うけど時間情報も欲しいときはDateTime

を使えば良いみたいです。

DateとDateTimeの違い

irb(main):001:0> a=DateTime.now
=> #<DateTime: 212121303832059353/86400000000,3/8,2299161>
irb(main):002:0> b=DateTime.now
=> #<DateTime: 2946129220090999/1200000000,3/8,2299161>
irb(main):003:0> a==b
=> false
irb(main):004:0> c=Date.today
=> #<Date: 4910215/2,0,2299161>
irb(main):005:0> d=Date.today
=> #<Date: 4910215/2,0,2299161>
irb(main):006:0> c==d
=> true

あとDate, DateTimeを使うときはdateをrequireする必要あり