Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

Dateライブラリで末日を指定する場合、日付を-1にすればよい

月の末尾を調べたい場合……ActiveSupportを使うのも手ですが、
実は標準添付のDateライブラリで普通に用を為します。
ためしに、2月の末日を調べてみると……

Date.new(2015,2,-1)
#=> #<Date: 2015-02-28 ((2457082j,0s,0n),+0s,2299161j)>

Date.new(2014,2,-1)
#=> #<Date: 2014-02-28 ((2456717j,0s,0n),+0s,2299161j)>

Date.new(2013,2,-1)
#=> #<Date: 2013-02-28 ((2456352j,0s,0n),+0s,2299161j)>

Date.new(2012,2,-1)
#=> #<Date: 2012-02-29 ((2455987j,0s,0n),+0s,2299161j)>

と、ちゃんと閏年の時もよろしくやってくれます。