Download
http://gist.github.com/gists/225915/downloadOverview
天文学的な近似法を用いて任意の緯度/経度における任意の日の「日の出」「日の入り」の時刻を計算します。オプションを用いることで、「薄明」(理科年表で定義される「夜明け」「日暮れ」)を求めることも出来ます。getSunRise()); //日の出
echo date('Y-m-d H:i:s', $s->getSunSet()); //日の入り
echo date('Y-m-d H:i:s', $s->getSunRise(1)); //日の出薄明(夜明け)
echo date('Y-m-d H:i:s', $s->getSunSet(1)); //日の入り薄明(日暮れ)
?>
- 返り値は全てUNIXタイムスタンプです。
- 経度、緯度のデフォルトは京都(それぞれ135.7717、35.008)です。
- 便宜上、円周率は0.017453278(ラジアン)に、地球の自転遅れは0.00074074074(日)に近似されています。
Install
依存するライブラリはありません。任意のディレクトリで使用できます。PHP4でも動く気がしますが、気がするだけですので動かなかったらすみません。
Source
謝辞
コード内の近似計算においては、長沢工著「日の出・日の入りの計算」を参考にさせていただきました。感謝します。Footnote
プログラム内のコメントに日本語が混入しています。全てのコメントを英語表記にしたかったのですが、なにぶん専門用語が多く全て英訳できませんでした。プログラム動作に影響はないと思いますが、一応。