たとえば、「4月1日(土)」という情報から、それが西暦何年の4月1日(土)なのか…それを簡単に調べられるツールや、WEBサービスはないでしょうか?
http://www5a.biglobe.ne.jp/~accent/kazeno/calendar/retro.htm
これですかねー
ちなみに、一応下記の点に注意してください。
まず、グレゴリオ暦が採用されたのは(本能寺の変が起きた)1582年からですが、各国によって実際の導入時期はまちまちで、日本では1873年から導入されました。(いわゆる太陽暦の採用の日ですね)
日本だけのことを考えたとしても、これ以前はうまく計算できません。さらに、それ以前は太陰太陽暦というルールにしたがっていました。明治5年12月2日を1872年12月31日と読み替えたんですね。
また、曜日の概念が導入されたのは321年のコンスタンティヌス帝時代のローマです。
というわけで、まぁ1873年以降から現在にわたってはツェラーの方式ってやつで計算が出ます。
コメントが開いていないのでここへ書きます.(したがってポイントはいりません)
月日と曜日から西暦年を出すとしたら5年または6年ごとに同じ月日(曜日)が出現しますが、その程度でよいのでしょうか。また28年ごとに同じ月日が同じ曜日と言う年が繰り返します。また400年周期もあります。
私は年月日から曜日を計算する(勿論、計算機やそろばんでなく、暗算や筆記で出来る方法です)式を考えたことがありますが、そちらのほうが役立ちそうですが。
4年毎のうるう年、100で割れる年がうるう年でない、ただし400で割れる年はうるう年、として紀元1年1月1日からの日数を計算、その数を7で割りあまりの数で、曜日が決まる。
検索したら、引っかかりました↓。
ある年月日の日が何曜日か
この問いに対して、「ツェラーの公式」という、有名な曜日計算の公式がある。
h百y年m月d日の曜日を求めることを考える。
(例えば、2001年11月3日の場合、h=20、y=1、m=11、d=3 である)
(注意) 1月、2月は、前の年の13月、14月として計算する。
まず、W=y+[y/4]+[h/4]-2h+[13(m+1)/5]+d の値を求める。
(但し、[X] は、ガウスの記号(→参考:ガウスの記号)と呼ばれる記号で、Xを超えない最
大の整数、つまり、Xの整数部分を表す。例えば、[156/5]=31、[5]=5 である。)
このWを7で割った余りをRとすると、曜日は、次の表で求まる。
R 1 2 3 4 5 6 0
曜日 日 月 火 水 木 金 土
例 2001年11月3日が土曜日であることを確認してみよう。
(解) h=20、y=1、m=11、d=3 だから
W=1+[1/4]+[20/4]-2×20+[13(11+1)/5]+3
=1+0+5-40+[156/5]+3
=1+0+5-40+31+3
=0
Wを 7 で割った余りは、0 だから、R=0
従って、上の表から、確かに、土曜日であることが分かる。(終)
(参考文献 淡中忠郎著 数学の学校(東京図書)
和田秀男著 数の世界 (岩波書店))
(付記) 2002年から2067年までのカレンダーは、次の表の通りである。
年 '02 '03 '04 '05 '06 '07 '08 '09 '10 '11 '12 '13 '14 '15 '16 '17 '18 '19 '20 '21 '22 '23
型 A B C D E F G H I D J A B H K E F A L I D E
年 '24 '25 '26 '27 '28 '29 '30 '31 '32 '33 '34 '35 '36 '37 '38 '39 '40 '41 '42 '43 '44 '45
型 M B H I N F A B C D E F G H I D J A B H K E
年 '46 '47 '48 '49 '50 '51 '52 '53 '54 '55 '56 '57 '58 '59 '60 '61 '62 '63 '64 '65 '66 '67
型 F A L I D E M B H I N F A B C D E F G H I D
直ぐ分かるように、表の範囲では2002年~2029年のパターンが繰り返されている。
(追記) 平成18年8月28日付け(このページは、平成13年11月3日にアップしたもので、
およそ5年ぶりの更新です!)
上記で述べたツェラーの公式は、強力ではあるが覚えきれないくらい複雑な式になってい
る。もっと簡便な方法はないものかと思案したところ、その方法は確かにあった。
その方法は、次の取り決めを基本としている。
うるう年の取り決め ・・・・・ 「うるう年」では、2月が平年より1日だけ多い!
(1) 西暦の年号が4で割りきれる年は、「うるう年」である。
(2) (1)の例外として、100で割りきれる年は、「うるう年」ではない。
(3) (2)の例外として、400で割りきれる年は、「うるう年」である。
この取り決めに従うと、西暦2000年は、「うるう年」である。
例 2001年11月3日が土曜日であることをツェラーの公式とは違う方法で求めてみよう。
・ 2001年11月3日~2006年8月28日までの日数計算
2001年~2006年の中で、「うるう年」は2004年の 1 回のみ。
よって、 (30-3+1)+31+365×4+1+31×4+30×2+28+28=1760日
・ 上で計算した総日数を7で割った余りの計算
1760÷7=251 ・・・ 余り 3
・ 2006年8月28日が月曜日から2001年11月3日の曜日を計算
R 2 1 0 6 5 4 3
曜日 日 月 火 水 木 金 土
余りが 3 なので、上記の表から、確かに、2001年11月3日は土曜日であることが
分かる。
なんというか、コピペですいません。
ツェラーの公式というものがあります。
(年 + 年/4 - 年/100 + 年/400 + (13*月+8)/5 + 日)を7で割ったときの余りで曜日を判定できます。
http://easycgi.xrea.jp/perltips/zeller.htm
月/日が固定ならば、公式の後半部分は固定ですので、
あとは年の部分の計算のみになります。
エクセルを持っているなら、マクロで簡単にできるかと思います。
コメント(1件)
http://date.yonelabo.com/