Ruby Tips!

RubyのTipsを紹介します

月末の日付を得る

Date.newの第3引数に負の値を指定すると、月末からの日付でDateオブジェクトを初期化できる。-1を指定すれば、月末の日付を得ることができる。

require 'date'
p Date.new(2014, 1, -1) #=> #<Date: 2014-01-31 ((2456689j,0s,0n),+0s,2299161j)>
p Date.new(2014, 2, -1) #=> #<Date: 2014-02-28 ((2456717j,0s,0n),+0s,2299161j)>
p Date.new(2014, 3, -1) #=> #<Date: 2014-03-31 ((2456748j,0s,0n),+0s,2299161j)>
p Date.new(2014, 4, -1) #=> #<Date: 2014-04-30 ((2456778j,0s,0n),+0s,2299161j)>
p Date.new(2014, 5, -1) #=> #<Date: 2014-05-31 ((2456809j,0s,0n),+0s,2299161j)>
p Date.new(2014, 6, -1) #=> #<Date: 2014-06-30 ((2456839j,0s,0n),+0s,2299161j)>
p Date.new(2014, 7, -1) #=> #<Date: 2014-07-31 ((2456870j,0s,0n),+0s,2299161j)>
p Date.new(2014, 8, -1) #=> #<Date: 2014-08-31 ((2456901j,0s,0n),+0s,2299161j)>
p Date.new(2014, 9, -1) #=> #<Date: 2014-09-30 ((2456931j,0s,0n),+0s,2299161j)>
p Date.new(2014, 10, -1) #=> #<Date: 2014-10-31 ((2456962j,0s,0n),+0s,2299161j)>
p Date.new(2014, 11, -1) #=> #<Date: 2014-11-30 ((2456992j,0s,0n),+0s,2299161j)>
p Date.new(2014, 12, -1) #=> #<Date: 2014-12-31 ((2457023j,0s,0n),+0s,2299161j)>