編集部イチオシ

カレンダー曜日考

@zeeksphereさんによる、カレンダーの曜日が年によってどのようなパタンになっているかの考察。
39
ツキノワグマ @Tsukinowa_Guma

ヤフオクを見てたら2006年のカレンダーを「来年2017年と曜日の配列が同じです!」という説明文で出品してる人がいてそういう売り方があるのかと目からウロコでした。

2016-12-29 20:25:28
zeeksphere @zeeksphere

別の年のカレンダーでも、正しい曜日が載っていれば正しいカレンダーとして使えるとき、それらの年は「曜日について合同」というとする。曜日について合同かどうかで意味で区別される年は何種類あるだろうか。

2017-01-01 13:09:43
zeeksphere @zeeksphere

言い換えれば、カレンダーを何種類持っていれば、使い回すだけで用が足りるか(ただし祝日の改正によって赤字となる日に差が出る点は無視する)。

2017-01-01 13:11:06
m(as)m @homepos_net

@zeeksphere 1月1日の曜日が7パターンありますが、それに閏年を加えると14パターンになります。だから14種類あれば基本的には使い回せるはずです。 あと、祝日のうち春分の日と秋分の日は予測可能なので、それも加えるなら、さらに2倍になって28パターンになるでしょう。

2017-01-01 13:22:15
zeeksphere @zeeksphere

あとは各種類の周期というか分布がどうなってるかあたりが気になる(種類に関してはおそらく14種類か)

2017-01-01 13:23:34
zeeksphere @zeeksphere

1年が365日である日の場合、これは52週と1日なので、翌年の曜日は前年の1日遅れ。これを+1と書くと、閏年では+2。 各年はおおよそ +1, +1, +1, +2, ... という周回をし、400年のうち3度は +2 が +1 に置き換わるのか。

2017-01-01 13:27:07
zeeksphere @zeeksphere

400で割り切れる年であるような年をk年とし、その翌年の1/1が日曜だとすると、 k+1: 日曜〜日曜 k+2: 月曜〜月曜 k+3: 火曜〜火曜 k+4: 水曜〜木曜(閏) k+5: 金曜〜金曜 k+6: 土曜〜土曜 k+7: 日曜〜日曜 k+8: 月曜〜火曜(閏) …

2017-01-01 13:33:26
zeeksphere @zeeksphere

上を単純に書くと, k+1 から 日日, 月月, 火火, 水木, 金金, 土土, 日日, 月火, 水水, 木木, 金金, 土日, 月月, 火火, 水水, 木金, 土土, 日日, 月月, 火水, 木木, 金金, 土土, 日月, 火火, 水水, 木木, 金土, 日日, ...

2017-01-01 13:41:53
m(as)m @homepos_net

@zeeksphere 〔補足〕春分の日と秋分の日の計算式を検索するといろいろ出てきますが、ここれが一番簡単そうです。(有効期限は不明) hp.vector.co.jp/authors/VA0065…

2017-01-01 13:49:33
m(as)m @homepos_net

@zeeksphere 〔訂正〕 ここれが→これが 有効期限は不明→有効期限の後は不明 #打ちまつがい

2017-01-01 13:54:18
zeeksphere @zeeksphere

k+28年までの間に14種類が出現して、再び同じ周期にもどる。これが3回繰り返されてk+84年までが終わる。k+85年からも「日日」が始まるが、k+100年が含まれるので

2017-01-01 13:50:26
zeeksphere @zeeksphere

日日, …, 水木, 金金, …, 月火, 水水, …, 土日, 月月, …, 木木(!), 金金, …, 月火, 水水, …, 土日, 月月, …, 木金, となって k+112年までが終わる。次の年は土土から始まる。

2017-01-01 13:51:31
zeeksphere @zeeksphere

したがって k+1〜28: 日日〜金土 k+29〜56: 日日〜金土 k+57〜84: 日日〜金土 k+85〜112: 日日〜木金(!) k+113〜140: 土土〜木金 k+141〜168: 土土〜木金 k+169〜196: 土土〜木金 k+197〜224: 土土〜水木(!)

2017-01-01 14:01:19
zeeksphere @zeeksphere

k+225〜252: 金金〜水木 k+253〜280: 金金〜水木 k+281〜308: 金金〜火水(!) k+308〜336: 木木〜火水 k+337〜364: 木木〜火水 k+365〜392: 木木〜火水 k+393〜420: 木木〜火水(!!)

2017-01-01 14:08:03
zeeksphere @zeeksphere

さてこの k+393〜420: 木木〜火水(!!) の内訳は k+393: 木木 k+394: 金金 k+395: 土土 k+396: 日月(閏) k+397: 火火 k+398: 水水 k+399: 木木 k+400: 金土(閏) k+401: 日日

2017-01-01 14:12:06
zeeksphere @zeeksphere

しかし k+401 以降の閏年の挿入の規則は k+1 に戻るので、k+1 および k+401 年の曜日が一致する以上、400年周期で曜日がもとにもどる。

2017-01-01 14:14:50
zeeksphere @zeeksphere

ここで、実際のk+1年の曜日を確かめると、1月1日は月曜日であるため、この「日日400年サイクル」は現実ではなく、実際は「月月400年サイクル」であることがわかる。したがって、今までの例示における曜日を次の曜日に読み替えたものが実際のサイクルである。(おしまい)

2017-01-01 14:20:14
zeeksphere @zeeksphere

わかったこと:(400の倍数+1)年の元日は月曜日。

2017-01-01 14:21:49
zeeksphere @zeeksphere

あ、もうおわかりだと思いますがカレンダーは14種類ですね。元日が各7曜日のものの、平年版と閏年版をそれぞれ用意してください。干支の「甲子はあるが甲丑はありえない」みたいな事態は、日付と曜日に関しては起こらずに、すべての組み合わせがありえるということです。

2017-01-01 14:24:51
にせねこ @nixeneko

カレンダー、月ごとに見ると、2月だけ14種、それ以外の月は7種か。

2017-01-01 14:38:02
zeeksphere @zeeksphere

さらに、日数が同じであれば異なる月であっても使い回すというふうにして経済性をさらにつきつめると、31日版7種類、30日版7種類、29日版7種類、28日版7種類の28種類を準備して次々張り替える。

2017-01-01 14:42:35
m(as)m @homepos_net

@nixeneko そういえは、昔、(今もあるかもしれませんが)裏側に日付が印刷された板があって、表からは1ヶ月分のカレンダーが見えるような「万年カレンダー」というのがありましたね。 裏側の板を横にスライドすると、曜日は変えられるけれども全部31日までになってしまうという…。

2017-01-01 14:47:46
m(as)m @homepos_net

この「万年カレンダー」をアプリにすると、 (1) 月末が28日~31日の4種類の文字盤を作っておく (2) 指定された年・月から文字盤を選択する(閏年判定あり) (3) その月の曜日に合わせて文字盤をスライドする というローテクな実装になりますが、これは面白いかもしれませんね。

2017-01-01 15:00:31
m(as)m @homepos_net

すでに作っている方がおられました。 ▶ スライド式万年カレンダー #1(変りカレンダーその5): 柔らかエクセル yawaraka-excel.cocolog-nifty.com/blog/2011/05/p…

2017-01-01 15:13:12
m(as)m @homepos_net

この万年カレンダーは、びっくりするほどシンプルな仕組みでした。 閏年を考慮した月末の日付の計算をエクセルの組み込み関数だけでやっているので、(エクセルがバージョンアップされ続ける限り)半永久的に使えます。 こういうのを本来の「神エクセル」と呼ぶべきだと思いました。

2017-01-01 17:58:01