PHP Conference Japan 2024

date_sunset

(PHP 5, PHP 7, PHP 8)

date_sunset 傳回指定日期和位置的日落時間

警告

此函式自 PHP 8.1.0 起已被 _棄用_。強烈建議不要依賴此函式。請改用 date_sun_info()

說明

#[\Deprecated]
date_sunset(
    int $timestamp,
    int $returnFormat = SUNFUNCS_RET_STRING,
    ?浮點數 $latitude = null,
    ?浮點數 $longitude = null,
    ?浮點數 $zenith = null,
    ?浮點數 $utcOffset = null
): 字串|整數|浮點數|false

date_sunset() 會傳回指定日期(以 timestamp 指定)和位置的日落時間。

參數

timestamp

用於取得日落時間的日期 timestamp

returnFormat

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.sunset_zenith

常用的 zenith 角度
角度 說明
90°50' 日落:太陽變得不可見的點。
96° 民用曙暮光:通常用於表示黃昏結束。
102° 航海曙暮光:在海上地平線不再可見的點。
108° 天文曙暮光:太陽不再是任何光源的點。

utcOffset

以小時為單位。如果 returnFormatSUNFUNCS_RET_TIMESTAMP,則 utcOffset 會被忽略。

傳回值

成功時,會以指定的 returnFormat 傳回日落時間;失敗時,則傳回 false。失敗的其中一個可能原因是太陽根本沒有落下,這種情況發生在極圈內的部分時間。

錯誤/例外

如果時區無效,每次呼叫日期/時間函式都會產生 E_WARNING 錯誤。另請參閱 date_default_timezone_set()

更新日誌

版本 說明
8.1.0 此函式已被棄用,建議使用 date_sun_info()
8.0.0 latitudelongitudezenithutcOffset 現在可以為空值。

範例

範例 #1 date_sunset() 範例

<?php

/* 計算葡萄牙里斯本的日落時間
緯度:北緯 38.4 度
經度:西經 9 度
天頂角 ~= 90
時差:+1 GMT
*/

echo date("D M d Y"). ', 日落時間:' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

上述範例將輸出類似以下的內容

Mon Dec 20 2004, sunset time : 18:13

範例 #2 無日落

<?php
$solstice
= strtotime('2017-12-21');
var_dump(date_sunset($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>

上述範例將輸出

bool(false)

另請參閱

  • date_sun_info() - 返回一個包含日落/日出和暮光開始/結束資訊的陣列

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top