|
||||||||||||||
|
閏年の判定
|
||||||||||||||
閏年とは「4年に1度訪れる太陽暦において平年より暦日が1日多い年のこと」はご存じかと思いますが、 4年に一度必ず来るものではないことをご存じですか? 古代エジプトより1年を365日としていましたが、 閏年が存在しなかったために4.129年に1日の割合で暦と季節にズレが生じていました。 その後、古代ローマで採用されたユリウス暦で、4年に1度を閏年と定めることでズレを抑えたのですが、 約128年に1日の割合で同様に暦と季節がズレ、後になればなるほど大きく違ってしまいました。 そこでグレゴリウス13世が暦の研究をし、以下の閏年条件を設けたグレゴリオ暦を制定しました。・4で割り切れる ・100で割り切れない ・100で割れても400で割り切れる上記条件より1暦年は「年+(年÷4)−(年÷100)+(年÷400)」。 言い換えると、「365日+(1/4)+(1/100)+(1/400)」で1年=365.2425日ですが 昔と違って今では1年=365.2422日ともう少し精密な周期がわかっており、 グレゴリオ暦と0.0003日(25.92秒)ずつズレてしまいます。 そのため約3300年に累積誤差で丸1日分ズレてしまうわけで、 この閏年とその条件が、これから先いつまで続くのかわかりませんがまだしばらくは使えることでしょう。 尚、他のページで行っている閏年判定は、下記のモジュール命令ではなくマクロにしています。 HSP3においては、モジュールでもマクロでもどちらでも使用できますが、 HSP2では文字列内で計算させることができませんので、マクロにしても使用できません。 手間ですが、一旦変数に代入した後、文字列へ渡すようにしてください。 | ||||||||||||||
![]() | ||||||||||||||
| ||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||