(PHP 5, PHP 7, PHP 8)
date_sunrise — 傳回指定日期和位置的日出時間
此函式自 PHP 8.1.0 起已被 _棄用_。強烈建議不要依賴此函式。請改用 date_sun_info()。
$timestamp
,$returnFormat
= SUNFUNCS_RET_STRING
,$latitude
= null
,$longitude
= null
,$zenith
= null
,$utcOffset
= null
date_sunrise() 會傳回指定日期(以 timestamp
指定)和位置的日出時間。
timestamp
用於取得日出時間的日期 timestamp
。
returnFormat
常數 | 說明 | 範例 |
---|---|---|
SUNFUNCS_RET_STRING | 以 字串 形式傳回結果 | 16:46 |
SUNFUNCS_RET_DOUBLE | 以 浮點數 形式傳回結果 | 16.78243132 |
SUNFUNCS_RET_TIMESTAMP | 以 整數 (timestamp) 形式傳回結果 | 1095034606 |
latitude
預設為北緯,若為南緯則傳入負值。另請參閱:date.default_latitude
longitude
預設為東經,若為西經則傳入負值。另請參閱:date.default_longitude
zenith
zenith
是太陽中心與垂直於地球表面的線之間的角度。預設值為 date.sunrise_zenith
角度 | 說明 |
---|---|
90°50' | 日出:太陽開始可見的點。 |
96° | 民用曙暮光:通常用於表示黎明開始。 |
102° | 航海曙暮光:在海上開始可以看見地平線的點。 |
108° | 天文曙暮光:太陽開始成為任何光源的點。 |
utcOffset
以小時為單位指定。如果 returnFormat
為 SUNFUNCS_RET_TIMESTAMP
,則會忽略 utcOffset
。
成功時以指定的 returnFormat
傳回日出時間,失敗時傳回 false
。失敗的其中一個可能原因是太陽根本沒有升起,這種情況發生在一年中部分時間的極圈內。
如果時區無效,每次呼叫日期/時間函數都會產生 E_WARNING
。另請參閱 date_default_timezone_set()
版本 | 說明 |
---|---|
8.1.0 | 此函數已被棄用,建議使用 date_sun_info()。 |
8.0.0 |
latitude 、longitude 、zenith 和 utcOffset 現在可以為 null。 |
範例 #1 date_sunrise() 範例
<?php
/* 計算葡萄牙里斯本的日出時間
緯度:北緯 38.4 度
經度:西經 9 度
天頂角 ~= 90
時區偏移:+1 GMT
*/
echo date("D M d Y"). ', 日出時間:' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
?>
上述範例會輸出類似以下的結果:
Mon Dec 20 2004, sunrise time : 08:54
範例 #2 無日出
<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunrise($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>
上述範例會輸出:
bool(false)