読者です 読者をやめる 読者になる 読者になる

2015年2月のカレンダーの並びは823年ぶりの奇跡、の検証

ツイッターなどで、2015年2月のように、月曜から金曜までがすっぽりはまっているのは、823年ぶりの奇跡だ、という情報が流れています
ガセなんですが、せっかくなのでrubyの練習がてら検証してみました

require 'date' 

1.upto(2015) do |year| 
  puts year if !Date::valid_date?(year, 2, 29) && Date.new(year, 2, 1).cwday == 7
end

 
その年の2月がうるう年ではなく、かつ1日が日曜日の年を出力します

Data.valid_date?はその日が存在するかどうかを返します
1.8系ではDate::exist?を使っていましたが、1.9以降はDate::valid_date?を使用します

Data#cwdayはその日の曜日を返します
1が月曜日、7が日曜日です


出力結果はこんな感じ。
たしかに、823年ぶりなどではなく、2009年も同じ並びです

5 
11 
22 
33 
~~~~~~~ 
1998 
2009 
2015