トップ «前の日記(2005-09-12) 最新 次の日記(2005-09-14)» 編集

RZFの館

テキトーなことを思いつきで書いている日記です。内容は無保証ということで〜

適切なツッコミは歓迎します。お気軽にどうぞ〜


mixi内に専用コミュ字幕集 mixi出張所つくりました(2006/09/06設置)

2004|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|03|04|05|06|07|08|09|10|11|12|
2010|03|06|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|12|
2013|04|05|06|07|08|10|11|12|
2014|02|03|07|
2015|01|02|03|04|05|06|09|
2016|02|04|05|06|07|08|10|
2017|03|05|
2018|01|03|05|06|12|
2019|01|02|05|10|
2020|05|
2021|01|02|05|07|10|
2022|07|

ToDo:

1.わたる(1) 2.みゅ(1) 3.ねこん(1)

2005-09-13 [長年日記]

[Perl] 世界一単純な春分/秋分計算をPerlでやってみる

お仕事で日付関係を扱う関係上、毎度参考にしている“こよみのページ”に、世界一単純かもしれない、春分/秋分計算というのが載っていて、いたく感激したので、Java ScriptでかかれているものをPerlに変換してみようというテスト。要Date::Calc

$X=6829570000; //1970年の春分点通過時刻の年初からのミリ秒

$Y=22935091700; //1970年の秋分点通過時刻の年初からのミリ秒

$Z=31556926000; //地球公転周期のミリ秒

ということなのでで、$a年の春分日は

Add_Delta_DHMS(1970,1,1,0,0,0,0,9,0,(($a-1970)*$Z+$X)/1000);

同じく秋分日は

Add_Delta_DHMS(1970,1,1,0,0,0,0,9,0,(($a-1970)*$Z+$Y)/1000);

ちゅうことですな。エライ単純やなぁ。今までアホみたいに少数演算だのint関数を使うだのしていたのがウソみたい。確かに簡単である。

ただ、Date::CalcもAdd_Delta_DHMSで2038年問題に引っかかってしまうのが残念だ。整数演算は問題なく通るので内部でtime関数を使っているのかもしれない。

じゃぁDate::Calcを使わずに処理すればいいじゃんということになるが、式を書くのが面倒なのでこのへんでやめておく。


記事の内容は状況により適宜書き換えることがあります。また不適切なツッコミも削除されることがありますので悪しからず〜

© RZF / Natural Factory 2004-2016,ALL RIGHTS RESERVED.