date_sunset
指定した日付と場所についての日の入り時刻を返す
警告
この関数は PHP 8.1.0 で 非推奨 になります。
この機能に頼らないことを強く推奨します。
代わりに date_sun_info を使ってください。
説明
stringintfloatfalse date_sunset(
int $timestamp
,
int $returnFormat
= SUNFUNCS_RET_STRING
,
floatnull $latitude
= null
,
floatnull $longitude
= null
,
floatnull $zenith
= null
,
floatnull $utcOffset
= null
)
パラメータ
-
timestamp
-
日の入り時刻を取得する日の
timestamp
。
-
returnFormat
-
returnFormat
定数
定数 |
説明 |
例 |
SUNFUNCS_RET_STRING |
結果を string で返します。 |
16:46 |
SUNFUNCS_RET_DOUBLE |
結果を float で返します。 |
16.78243132 |
SUNFUNCS_RET_TIMESTAMP |
結果を int (タイムスタンプ) で返します。 |
1095034606 |
-
latitude
-
デフォルトは北緯で、南緯は負の値で表します。
date.default_latitude も参照ください。
-
longitude
-
デフォルトは東経で、西経は負の値で表します。
date.default_longitude も参照ください。
-
zenith
-
zenith
は 太陽の中心と、地球の表面からの垂線の間になす角度です。
デフォルトは date.sunset_zenith です。
一般的な zenith
の角度
角度 |
説明 |
90°50' |
日の入り: 太陽が見えなくなる点 |
96° |
薄明かり: 夕暮れの終わりを示すのに慣習的に使われます |
102° |
航海上の薄明かり: 海の上で、水平線が見えなくなった点 |
108° |
天文学上の薄明かり: 太陽があらゆる明かりの光源ではなくなった点 |
-
utcOffset
-
時間単位で指定します。
returnFormat
が
SUNFUNCS_RET_TIMESTAMP
の場合は、
utcOffset
は無視されます。
戻り値
日の入り時刻を、指定した returnFormat
で返します。
失敗した場合に false
を返します。
失敗する潜在的な可能性があります。太陽が全く昇らない場合です。
これは一年のある時期、極圏の中にある場合に起こります。
エラー / 例外
すべての日付/時刻関数は、
有効なタイムゾーンが設定されていない場合に E_WARNING
を発生させます。
date_default_timezone_set も参照ください。
例
例1 date_sunset の例
<?php
/* ポルトガル リスボンの日の入り時刻を計算する
緯度: 北緯 38.4
経度: 西経 9
天頂 ~= 90
時差: +1 GMT
*/
echo date("D M d Y"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
?>
Mon Dec 20 2004, sunset time : 18:13
例2 No sunset
<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunset($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>