date_sunset
(PHP 5, PHP 7)
date_sunset — 指定した日付と場所についての日の入り時刻を返す
説明
date_sunset
( int $timestamp
[, int $returnFormat
= SUNFUNCS_RET_STRING
[, float $latitude
= ini_get("date.default_latitude")
[, float $longitude
= ini_get("date.default_longitude")
[, float $zenith
= ini_get("date.sunset_zenith")
[, float $utcOffset
= 0
]]]]] ) : mixed
date_sunset() は、与えられた日付
(timestamp
で指定する)
と場所についての日の入り時刻を返します。
パラメータ
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
は無視されます。
エラー / 例外
すべての日付/時刻関数は、
有効なタイムゾーンが設定されていない場合に E_NOTICE
を発生させます。また、システム設定のタイムゾーンあるいは環境変数
TZ
を使用した場合には E_STRICT
あるいは E_WARNING
を発生させます。
date_default_timezone_set() も参照ください。
返り値
日の入り時刻を、指定した returnFormat
で返します。
失敗した場合に false
を返します
失敗する潜在的な可能性があります。太陽が全く昇らない場合です。
これは一年のある時期、極圏の中にある場合に起こります。
例
例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));?>
上の例の出力は以下となります。
bool(false)
参考
- date_sunrise() - 指定した日付と場所についての日の出時刻を返す
- date_sun_info() - 日の出/日の入り時刻と薄明かり (twilight) の開始/終了時刻の情報を含む配列を返す