PHP Conference Japan 2024

date_sunrise

(PHP 5, PHP 7, PHP 8)

date_sunrise傳回指定日期和位置的日出時間

警告

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

說明

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

date_sunrise() 會傳回指定日期(以 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.sunrise_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 現在可以為 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)

另請參閱

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

新增註解

使用者貢獻的註解

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