Sunpillar備忘録

最近多忙で、HTMLを書いている暇がない。そのうち纏めるかもしれないものを適当にメモしているブログです。

春分の日と秋分の日の求め方

2007-05-21 23:46:58 | プログラム
日本には様々な祝日があります。元旦、成人の日、建国記念の日…。
特定の日やハッピーマンデーの祝日判定をするのは容易ですが、春分の日は「春分日」、秋分の日は「秋分日」となっていて、官報で発表されるまで、何月何日が春分日・秋分日なのかは決まっていません。

しかし、それでは数年先の春分の日・秋分の日が何月何日なのか分からなくて不便なこともあります。
ただ、春分日・秋分日を簡易的に求める方法が存在するのでそれを紹介します。

ここでは、コンピュータを使用することを前提に話を進めていきます。

まず、ある年の春分・秋分を調べます。これは国立天文台の暦要項のページを見れば確認できます。
未来の春分の日・秋分の日を調べるのであれば一番最新のものを選んだほうが精度がよくなります。

ここでは、2008年(平成20年)のデータを使用します。2008年の春分は「3月20日14時48分」、秋分は「9月23日0時45分」です。

あと、1太陽年の長さを調べます。
1太陽年はグーグル電卓によると31,556,926秒(365.24199日)だそうです。

以上でデータは揃いました。次は計算です。
まず、春分・秋分を通日または通秒に変換します。プログラムならUnix timeという1970-01-01 00:00:00(UTC)を起点とした秒数表現が一般的です(JavaやJavaScriptはミリ秒表現)。
ブラウザのアドレスバーにそれぞれ
javascript:alert(new Date(2008,02,20,14,48,00).getTime());
javascript:alert(new Date(2008,08,23,0,45,00).getTime());


と打ち込んでエンターを押してやれば、1205992080000,1222098300000という値が求まります(JavaScriptでは0-11なので入力する数字が1つずれる)。ただしこれはミリ秒表現です。

X年の春分を求めるには、X年の春分=基準年の春分+(X-基準年)*1太陽年
X年の秋分を求めるには、X年の秋分=基準年の秋分+(X-基準年)*1太陽年
となります。今回の場合は

X年の春分[ms]=1205992080000+(X-2008)*31556926000
X年の秋分[ms]=1222098300000+(X-2008)*31556926000

となります。例として2015年の春分・秋分を求めます。

1205992080000+(2015-2008)*31556926000=1426890562000
1222098300000+(2015-2008)*31556926000=1442996782000

これで求まりました。

が、これでは普通の人間は読めません。人間のふりをしたロボットなら読めるかもしれませんが、、、
ということで、これを人間の読める形に戻します。JavaScriptなら、ブラウザのアドレスバーに
javascript:alert(new Date(1426890562000));
javascript:alert(new Date(1442996782000));


すると、Sat Mar 21 2015 07:29:22 GMT+0900、Wed Sep 23 2015 17:26:22 GMT+0900が求まります。

ということで、2015年の春分の日は3月21日、秋分の日は9月23日だということが分かります。

※注意
簡易計算なので、あまり基準年から離れた年を計算すると誤差が出る可能性があります。

日本で見られる日食

2007-05-16 23:42:44 | 雑学
2009年7月22日、鹿児島県十島村の悪石島で、比較的皆既の時間が長い日食が見られます。ただ、非常に小さな島なので、日食目当ての天体マニアなどの観光客で大変なことになるかもしれません。ただ、2012年まで待てば、本州でも金環食を見ることができます(本州での皆既食は2035年まで待たなくてはいけませんが)。

以下、名古屋で見られる21世紀前半の比較的大きな日食メモ(地元が名古屋なので)

2009年07月22日(水) 09:50 - 12:26 (最大 11:08 80%)
2012年05月21日(土) 06:18 - 08:57 (最大 07:31 95%)※金環食
2020年06月21日(日) 16:09 - 18:06 (最大 17:10 51%)
2030年06月01日(土) 15:53 - 18:14 (最大 17:08 76%)
2032年11月03日(水) 14:18 - 16:41 (最大 15:34 51%)※文化の日
2035年09月02日(日) 08:41 - 11:31 (最大 10:03 95%)※本州で皆既食
2041年10月25日(金) 07:46 - 10:40 (最大 09:08 97%)※金環食
2042年04月20日(日) 10:15 - 12:48 (最大 11:30 84%)
2047年01月26日(土) 08:56 - 11:55 (最大 10:23 65%)

参考:お星様とコンピュータ

これを見ると2030年代、2040年代に大きな日食を沢山見ることができるようです。