見出し画像

[雑感]閏年かどうかの判断は面倒くさい[1066文字]

アメリカの某有名ミステリ作家の某短編で、1900年は4で割り切れるから、うるう年のはずが、実はうるう年でなかったということが、ネタになっているものがありました。

何回か理由を聞いたけど、すぐに忘れてしまうので、なぜそうなるかの説明はできないですが💦、単純に西暦を4で割って割り切れる年イコールうるう年、というわけではないのです🤔。

100年に一度、うるう年でない年がやってきます。
例えば、1900年、1800年、1700年とか。

いやちょっと待って、西暦2000年はうるう年だったろう、と思う方もいそうですが。確かにその通りです。

ここが面倒なところで、『100年に一度、うるう年でない年がやってくるけれど、400年に一度はうるう年になる』というややこしいルールがあるのです。

だから西暦2000年は、100年に一度やって来る『4で割り切れるけど、うるう年でない年』になるはずが、400年に一度の『でもうるう年になっちゃう』年になるんですね。

めんどくさいルールだけれど、これを踏まえておかないと、今年の2月は何日間あるかを算出するプログラムが作れないのですよ。

●西暦が4で割り切れない年⇒うるう年じゃないので2月は28日間になる。
●そして西暦が4で割り切れる年⇒うるう年だから2月は29日間になる。
●だけど、西暦が100で割り切れる年⇒うるう年じゃないので2月は28日間になる。
●しかし、西暦が400で割り切れる年⇒うるう年だから2月は29日間になる。

まぁ最後の西暦が400で割り切れる年が次に来るのは、西暦2400年で376年後、そこまでプログラムが動くこともないだろうから、あえて考慮する必要もないと言えなくもないですけれども😆。

ボクがプログラムで組んだのは、西暦年の下2桁が「00」でかつ上2桁が4で割り切れれば閏年、西暦年の下2桁が「00」でかつ上2桁が4で割り切れなければ閏年じゃない・・・といった判断だったけかな?忘れちゃいました😄。

ついでに、ちょっと調べたらこんな豆知識が😮。

●うるう年でない年は、『2月と3月と11月は同じ日・曜日』・『1月と10月は同じ日・曜日』。
●うるう年は『1月と4月と7月は同じ日・曜日』・『2月と8月は同じ日・曜日』。

うるう年かどうかに関係なく、どの年も、

●4月4日・8月8日・10月10日・12月12日は同じ曜日。
●9月9日・11月11日は同じ曜日。(うるう年の場合はこれに1月1日も入る)
3月3日・5月5日・7月7日は同じ曜日

へぇ~。ひな祭りと子供の日と七夕は同じ曜日なんだ~😆。

この記事が気に入ったらサポートをしてみませんか?