自分の生まれた曜日を割り出す計算まとめ

輔さんの生年月日からその日が何曜日だったかを計算する方法を解説まとめ
7
匿名希望の輔 @suke_tk

△△年○月□日が何曜日を計算するには、基準の日から何日後(ずれている)かを調べれば良い、という計算方法を自分なりに解釈してみたので、TLに垂れ流すよ!の巻

2010-03-02 03:04:21
匿名希望の輔 @suke_tk

・曜日は1週間(7日)サイクルである。月曜日の1日後は火曜日、10日後は10÷7=1…3であるので、月曜日の3曜日後である木曜日にあたる。7日のサイクルからはみ出した分を加算すれば、基準の曜日からいくつ後の曜日かがわかる

2010-03-02 03:04:59
匿名希望の輔 @suke_tk

・前述の考え方から、1月1日が金曜であるとき、2月1日は31日後であるので、31÷7=4…3で、金曜の3曜日後の月曜となることがわかる。しかし月の日数はまちまち(2月は28日、4,6,9,11月は30日、他は31日)であるので、月ごとに計算する値を変える・補正する必要がある

2010-03-02 03:05:26
匿名希望の輔 @suke_tk

・また、1年は365日である。365÷7=52…1と考えると1年後の同じ日は、1曜日後になる。(2010/1/1が金曜ならば、2011/1/1は土曜日)

2010-03-02 03:06:09
匿名希望の輔 @suke_tk

・しかしうるう年(4の倍数ごとの年)がある。これにより、2004/1/1は木曜であるがうるう年なので、翌年の2005/1/1は1曜日ずれた金曜ではなく、2曜日ずれた土曜となる

2010-03-02 03:06:43
匿名希望の輔 @suke_tk

・以上から、00年1月1日を基準としたところから曜日を計算するには、(1)年、(2)月、(3)日を足したものを7で割り、あまりの数がわかれば曜日が判明する。しかし前述でうるう年と月の日数のばらばらさを示したので、たんに年月日を足すのではなく、補正しなければならないことがわかる

2010-03-02 03:07:05
匿名希望の輔 @suke_tk

・また、うるう年は4倍数の年毎だが1100年、1200年など00年はうるう年ではないとされる。しかし400の倍数年(2000年など)はうるう年とされる。よって100年ごとに補正する。

2010-03-02 03:07:33
匿名希望の輔 @suke_tk

・1900年の100年前は-(100曜日+24(うるう年の回数))÷7=-17…-5だから、5曜日前として補正する。100年後の2000年は+(100+24+1)÷7=17…6だから6曜日後として補正する

2010-03-02 03:07:58
匿名希望の輔 @suke_tk

・以下、計算に必要な補正値表を記述

2010-03-02 03:08:30
匿名希望の輔 @suke_tk

・①百年単位の補正 1800/1/1~1899/12/31は2:1900/1/1~1999/12/31は0:2000/1/1~2099/12/31は6を補正値として加算する

2010-03-02 03:08:47
匿名希望の輔 @suke_tk

・②うるう日分の加算 求めたい年の下二桁÷4で出た商(1922年なら、22÷4=5…2だから5のこと。5回うるう日があったためその分)を加算する

2010-03-02 03:09:01
匿名希望の輔 @suke_tk

・③月の補正 1月を1とし、2月は4:3月は4:4月は0:5月は2:6月は5:7月は0:8月は3:9月は6:10月は1:11月は4:12月は6を補正値として加算。ただし、うるう年の1月は0、2月は3で補正する(2/29のずれ分を商で加算したけれど1月と2月はまだずれていないため)

2010-03-02 03:09:53
匿名希望の輔 @suke_tk

・④月2:火3:水4:木5:金6:土0:日1

2010-03-02 03:10:17
匿名希望の輔 @suke_tk

よって、求めたい年月日(西暦)の曜日を求めるには、(「求めたい年の補正値①」+「求めたい年の下二桁」+「その二桁を4で割った商②」+「求めたい月の補正値③」+「求めたい日」)÷7を計算し、あまりの数を次の表④から探せば良い

2010-03-02 03:10:33
匿名希望の輔 @suke_tk

1992年7月19日は(0+92+23+0+19)÷7=19…1だから、あまり1は表④より日曜。1992年7月19日は、日曜日でした…!

2010-03-02 03:11:01