1月 | 2月 | 3月 | 4月 | 5月 | 6月 | 7月 | 8月 | 9月 | 10月 | 11月 | 12月 | |
index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
閏年 | 31 | 29 | 31 | 30 | 31 | 30 | 31 | 31 | 30 | 31 | 30 | 31 |
閏年以外 | 31 | 28 | 31 | 30 | 31 | 30 | 31 | 31 | 30 | 31 | 30 | 31 |
; 定義
YYYY: 西暦年
; アルゴリズム
function 閏年判定(YYYY)
if mod(YYYY,400) = 0 then
return "閏年"
else
if mod(YYYY,100) = 0 then
return "閏年以外"
else
if mod(YYYY,4) = 0 then
return "閏年"
else
return "閏年以外"
end if
end if
end if
end function
※ただし、さらに精密に計算すると、3300年に1回1日余るのだが、その時の対応はまだ決まっていないのは企業の商品・顧客管理システムの開発と同様である。
w = mod(yy + int(yy/4) + int(hh/4) - 2hh + int(13(m + 1)/5) + d, 7)
yyは100年未満の年数、int(yy/4)は閏年の1日、int(hh/4)は400年に1回の閏年。dは端数日数。4年に1回、400年に4回数え過ぎのため、残りの式で調整していると考えられる(証明は別途検索してください。)。
w | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
曜日 | 土 | 日 | 月 | 火 | 水 | 木 | 金 |
★暦と星 暦は土曜日から始まる。曜日が『土日月火水木金』の順番になった理由とは?
; アルゴリズム