gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

曜日はどのように求めるんだろう?

2023-04-11 19:46:00 | 日記

曜日を求める公式が以下の通りです。ツェエラーの公式とも呼ばれています。
w=(d+[(13(m+1))/5]+y+[y/4]+г )mod 7
記号の説明
d:日
m:月(1月と2月は前年にした上でmに12を足す)
y:年の下2桁
г:グレゴリオ暦かユリウス暦で計算式が異なります。
グレゴリオ暦:г=[c/4]-2c(1582年10月15日に運用が始まった)
ユリウス暦:г=5-c(主に1582年10月4日以前に用いられた)
ここでいうcは下2桁を引いて100で割った値になります。
つまり
y=year mod 100
c=[year/100]
ということになります。
ガウス記号[]は小数点以下を切り捨てます。
例 [1.1]=1 [2.9]=2 [-4.5]=-5 [-5.1]=-6
mod はあまりの値です。ここでは7でしか割らないのですが。0未満になった時は7の倍数を足します。
例 45 mod 7 =3
 -23 mod 7 =-23+28=5
紀元前以前も求めることができますが実際にユリウス暦では4年以降でないと使えないので求めたところであまり意味はないですが。
では実際に計算してみましょう。
今回は1991年7月27日の曜日を求めてみましょう。
代入していきましょう。
w=(27+[(13(7+1))/5]+91+[91/4]+[19/4]-2*19) mod 7
  =(27+[(13*8)/5]+91+22+4-38) mod 7
  =(106+[104/5])mod 7
  =(106+20) mod 7
  =126 mod 7
  =0
ここで計算ができましたがwの数値で曜日がわかります。
w=0:土曜日
w=1:日曜日
w=2:月曜日
w=3:火曜日
w=4:水曜日
w=5:木曜日
w=6:金曜日
よって1991年7月27日は土曜日であったことがわかります。
ユリウス暦の1492年10月12日は何曜日だったのだろう?(コロンブスによるアメリカ大陸の発見)
w=(12+[(13(10+1))/5]+92+[92/4]+5-14) mod 7
  =(12+[(13*11)/5]+92+23+5-14) mod 7
  =(118+[143/5]) mod 7
  =(118+28) mod 7
  =146 mod 7
  =6
よってユリウス暦の1492年10月12日は金曜日であったこと分かりました。
何気に初投稿から3年。


曜日を求めてみましょう

2020-04-11 13:42:59 | 日記
みなさんは1994年10月25日は何曜日ですかと質問された時何曜日かを当てることができますか?
この記事を読めばこの日の曜日を当てることができるようになりますので頑張ってみましょう。
まずは基準の年を指定しておきます。ここでは2020年とします。
次は何年離れているかを見てみます。今回の場合は2020年から1994年なので26年離れていますね。つまり26年前となります。
まずは1年から3年離れている場合は以下のようになります。これと4の倍数の年数は基準となりますので覚えておくと楽です。今回の場合は24+2,28-2ということになります。
1年差の場合
1年前の場合は3月から12月場合は4で割ってあまりが0の年,1月と2月は4で割って1余る年の場合は2つ曜日を戻し,その他は1つ戻します。
1年後の場合は3月から12月場合は4で割ってあまりが3の年,1月と2月は4で割って0余る年の場合は2つ曜日を進め,その他は1つ進めます。
2年差の場合
2年前の場合は3月から12月場合は4で割ってあまりが0と1の年,1月と2月は4で割って1と2余る年の場合は3つ曜日を戻し,その他は2つ戻します。
2年後の場合は3月から12月場合は4で割ってあまりが2と3の年,1月と2月は4で割って0と3余る年の場合は3つ曜日を進め,その他は2つ進めます。
3年差の場合
3年前の場合は3月から12月場合は4で割ってあまりが3の年,1月と2月は4で割って0余る年の場合は3つ曜日を戻し,その他は3つ進めます。
3年後の場合は3月から12月場合は4で割ってあまりが0の年,1月と2月は4で割って1余る年の場合は3つ曜日を進め,その他は3つ戻します。
4の倍数の年差の場合は以下のようになります。
4年前の場合は曜日を2つ進め,4年後の場合は曜日を2つ戻します。
8年前の場合は曜日を3つ戻し,8年後の場合は曜日を3つ進めます。
12年前の場合は曜日を1つ戻し,12年後の場合は曜日を1つ進めます。
16年前の場合は曜日を1つ進め,16年後の場合は曜日を1つ戻します。
20年前の場合は曜日を3つ進め,20年後の場合は曜日を3つ戻します。
24年前の場合は曜日を2つ戻し,24年後の場合は曜日を2つ進めます。
28年差の場合は変動なし。つまり29年前の曜日を求める場合は1年前の曜日を求めるだけで良いのです。
世紀末を跨ぐ場合は以下の点に注意しなければなりません。
西暦の上2桁が4の倍数の場合は気にしなくても良いですが4の倍数でない場合は以下の点に注意が必要です。
1月と2月の場合はxx01年からxx00年にまたがった場合,3月から12月の場合はxx00年からxx99年にまたがった場合は曜日を1つ進めてください。
1月と2月の場合はxx00年からxx01年にまたがった場合,3月から12月の場合はxx99年からxx00年にまたがった場合は曜日を1つ戻してください。
ここまで出来たところで実際に1994年10月25日の曜日を求めてみましょう。
世紀末を跨っていますが2000年なので曜日の変動はありません。
28年差に近いので今回は28年差の方を採用したいと思います。2020年から1994年の年差は26年なので2年後の曜日を調べればいいわけです。今回は4で割って0余る年で10月なので2年後の場合は曜日を2つ進めるだけになります。28年差の場合は変動がないので2年後の曜日が1994年10月25日と同じ曜日となります。
基準の年である2020年の10月25日は日曜日なので曜日を2つ進めると火曜日になります。
よって1994年10月25日の曜日は火曜日と言うことがわかりました。






ブログ始めました

2020-04-11 00:29:08 | 日記
こんにちは。今回からgooブログを始めたcalendarです。本当はBanG Dream! and Calendar Otakuにしようと思っていたのですが残念なことにその名称は使えなかったみたいで仕方なくcalendarにしました。
これから少しずつ投稿していこうかなと思います。皆さんよろしくお願いします。