1月から12月の月末を表示する

出力結果が整うように、
%を使ってmonthのフォーマットを調整してみた。
標準出力の整形にはcenterも役に立つ。

require "date"

today = Date.today

puts today.year.to_s.center(18)
puts "-" * 18

1.upto(12){|month|
  lday = Date.new(today.year, month, -1)
  month = "%2d" % month
  puts "#{month}月の最終日は#{lday.day}"
}


実行結果は以下。

       2007
------------------
 1月の最終日は31日
 2月の最終日は28日
 3月の最終日は31日
 4月の最終日は30日
 5月の最終日は31日
 6月の最終日は30日
 7月の最終日は31日
 8月の最終日は31日
 9月の最終日は30日
10月の最終日は31日
11月の最終日は30日
12月の最終日は31日