日の出/日の入り時刻が標準機能とか……これだからPHPは(ry

PHPのマニュアルを眺めてたら日の出とか日の入りの時刻を取得する関数があったんだけど、こんなん誰が使うんだよ(;´Д`)
少なくとも標準で組み込まれてる必要ねーだろうよ。
そもそもどうやって計算してるんだ? どれだけの精度があるんだ?
日の出/日の入りを本当に扱いたい人はそれなりの精度を必要としてる気がするけど。

<?php
date_default_timezone_set('Asia/Tokyo');
$now = time();
$latitude = 36.5626;
$longitude = 136.362305;

echo 'sunrise: ' . date_sunrise($now, SUNFUNCS_RET_STRING, $latitude, $longitude) . PHP_EOL;
echo 'sunset: ' . date_sunset($now, SUNFUNCS_RET_STRING, $latitude, $longitude) . PHP_EOL;

echo str_repeat('-', 40) . PHP_EOL;
$sun_info = date_sun_info($now, $latitude, $longitude);
foreach ($sun_info as $key => $val) {
    echo "$key: " . date('H:i:s', $val) . PHP_EOL;
}
?>
sunrise: 06:59
sunset: 16:40
                                                                              • -
sunrise: 06:59:59 sunset: 16:40:30 transit: 11:50:14 civil_twilight_begin: 06:31:17 civil_twilight_end: 17:09:12 nautical_twilight_begin: 05:58:57 nautical_twilight_end: 17:41:32 astronomical_twilight_begin: 05:27:29 astronomical_twilight_end: 18:13:00

緯度経度はGoogle Mapsで渋谷のURLから取ってきた。

参考

国立天文台 天文情報センター 暦計算室(日の出/日の入りの参考に)