ツェラーの公式
ツェラーの公式とは西暦における年・月・日から曜日を導出する公式である。
- ツェラーの公式は
h=(d+[26(m+1)/10]+Y+[Y/4]+Γ) mod7 である。
概要
上記の式について解説する。
関数
- まず[ ]は床関数である。簡単に言うと小数点切り捨てである。
例:[3.14]=3 , [1/2]=0
- 次にmodnはnで割った余りである。つまり、公式では左にある複雑な式を7で割った余りを求めるのである。
例:100 mod7=2 , 114514 mod100=14
変数
式の中にはd,m,Y,Γの変数が現れる。これらを解説する。
式の中にはd,m,Y,Γの変数が現れる。これらを解説する。
- y,m,dはそれぞれyear,month,dayの頭文字であり、y年m月d日という意味である。
- 大文字のYはyを100で割った余りである。(Y=y mod100)
例:2020年5月22日→y=2020,m=5,d=22,Y=20
- Γはグレゴリオ暦とユリウス暦で変動する項である
グレグリオ暦→ Γ=-2C+[C/4] ユリウス暦→ Γ=-C+5 ただしC=[y/100]
※ややこしいことに西暦は2種類ある。一般的にはグレゴリオ暦だがロシアなどではユリウス暦を使っている。
曜日
肝心なのは求められたhから曜日を算出することである。
肝心なのは求められたhから曜日を算出することである。
- 得られるhは整数なのでそれを曜日に対応させる。
曜日 | 日 | 月 | 火 | 水 | 木 | 金 | 土 |
h | 1 | 2 | 3 | 4 | 5 | 6 | 0 |
具体的な計算
上の説明だけではピンとこないと思うので、例として1827年6月8日の曜日を当てたいと思う
- まず、y=1827,m=6,d=8である。
- よってY=y mod100よりY=27。
- また、グレゴリオ暦を用いるのでΓ=-2C+[C/4]
- C=[y/100]よりC=[1827/100]=[18.27]=18
- [C/4]=[18/4]=[4+0.5]=4
- よってΓ=-2*18+4=-32
これでY=27,m=6,d=8,Γ=-32が得られた。公式に代入しよう。
h=(8+[26*(6+1)/10]+27+[27/4]-32) mod7
h=(8+[18.2]+27+[6+3/4]-32) mod7
h=(8+18+27+6-32) mod7
h=27 mod7
h=6
h=(8+[18.2]+27+[6+3/4]-32) mod7
h=(8+18+27+6-32) mod7
h=27 mod7
h=6
曜日 | 日 | 月 | 火 | 水 | 木 | 金 | 土 |
h | 1 | 2 | 3 | 4 | 5 | 6 | 0 |
この表より1827年6月8日は金曜日。金曜日なので1827年6月8日には、ず枠があったに違いない。
応用
この公式は見知らぬ時代の曜日を調べるのにも使えるが、主にコンピュータ内での処理に使われる。正直言ってこの計算を人間がやると頭痛が痛くなるので危険が危ない。
ず枠におけるツェラーの公式
- ず枠ではぷーれが放送した日は金曜日であり、金曜日はぷーれが放送した日である。
- つまりいかなる日についてもh=6となるはずである。
- そこでぷーれ暦におけるΓを考える。
- 導出は簡単である。d,m,Yの項を式から取り除いて6を与えればよいので
ぷーれ暦→ Γ=-d-[26(m+1)/10]-Y-[Y/4]+6 である。
- これによりツェラーの公式は
h=6 と簡単なものになる。やっぱりず枠は6!!