グレゴリオ暦よりも精度のよい暦を作ろうとちょっと閏年の決め方考えてみた
案1:グレゴリオ暦の閏年のルールにに「ただしそのうち5000で割り切れる年は閏年でない」を追加。
注記:今気づいたけどこの案は5000が400で割り切れないので多分間違ってる?
→案の定勘違いしてたようだ。追記した。
あと、グレゴリオ暦の閏年のルールは
- 西暦年が4で割り切れる年は閏年
- ただし、西暦年が100で割り切れる年は平年
- ただし、西暦年が400で割り切れる年は閏年
とのこと。
閏年 - Wikipedia http://ja.wikipedia.org/wiki/%E9%96%8F%E5%B9%B4
今のグレゴリオ暦より精度のいい太陽暦を作るには基本的には太陽年により近くなるように閏日をいれりゃいいので、1年を平均365.2422日にしたいとすると1万年間に2422回閏日をいれりゃいいんだよね、などとだらだら考えてる
2012-01-31 23:33:36今のグレゴリオ暦のルール(4で割り切れて、なおかつ100で割り切れないが400で割り切れる)に「ただしそのうち5000で割り切れる年は閏年でない」とすると1万年に2423回入って多少精度がよくなるのか
2012-01-31 23:52:19太陽年 - Wikipedia http://t.co/F93EA1FF とか参照。さっきの9000年に1回のズレってのは2008年の平均太陽年を元に計算
2012-02-01 00:03:13補記:やっぱりちょっと違ったようだ
いろいろtypoしてるので修正。
1.ツイートでは1..5000に対してとあるけど1..10000でやった
2.2422回ではなく2424回だった
やっぱり間違ってたっぽい。Rubyで1..5000に対して if (i % 4 == 0) && (i % 100 != 0) || (i % 400 == 0) && (i % 5000 != 0) then count += 1 endな感じでやってみたら(続)
2012-02-01 01:23:15案2:グレゴリオ暦のルール +「ただし1600で割り切れれば閏年でない」+ 「ただし、さらに3200で割り切れれば閏年」
あーグレゴリオ暦のルール +「ただし1600で割り切れれば閏年でない」+ 「ただし、さらに3200で割り切れれば閏年」ってルールを足したほうが良い感じかも。そうすると1年が365.2421875日になって2008年の平均太陽年365.24218987日との差は0.204768秒に
2012-02-01 00:16:23