在PHP 中, date_sunset()函數可以用來獲取某地日落時間的Unix 時間戳。這個函數非常有用,尤其是在開發天氣相關應用或需要根據地理位置調整頁面亮度等功能時。但date_sunset()返回的是Unix 時間戳,對於普通用戶來說並不友好,因此我們需要將其轉換為更易讀的格式,比如HH:MM:SS或Ymd H:i:s 。
下面我們通過一個示例來演示如何將date_sunset()的返回值轉換為易讀的時間格式。
<?php
// 設置默認時區
date_default_timezone_set("Asia/Shanghai");
// 獲取當前時間
$timestamp = time();
// 指定緯度與經度(這里以北京為例)
$latitude = 39.9042;
$longitude = 116.4074;
// 獲取日落時間(返回的是 Unix 時間戳)
$sunsetTimestamp = date_sunset($timestamp, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
// 检查是否成功獲取日落時間
if ($sunsetTimestamp !== false) {
// 轉換為易讀格式(24小時制)
$readableTime = date("H:i:s", $sunsetTimestamp);
echo "今日日落時間為:$readableTime";
} else {
echo "无法獲取日落時間。";
}
?>
今日日落時間為:18:52:34
date_sunset()的第二個參數SUNFUNCS_RET_TIMESTAMP是關鍵,它告訴PHP 返回Unix 時間戳。你也可以傳入SUNFUNCS_RET_STRING來直接獲得格式化好的時間字符串,不過手動格式化會提供更多自定義空間。
使用date()函數可以將Unix 時間戳格式化為幾乎任何你想要的時間格式,例如:
date("Y-m-d H:i:s", $sunsetTimestamp);
這將返回2025-04-26 18:52:34這樣的完整時間字符串。
你可以把這個時間輸出到網頁上,比如:
echo "<p>今日日落時間為:$readableTime</p>";
或者用於動態背景切換: