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