(PHP 5, PHP 7, PHP 8)
date_sunset — 返回给定日期和位置的日落时间
此函数自 PHP 8.1.0 起已弃用。强烈建议不要依赖此函数。请改用 date_sun_info()。
$timestamp,$returnFormat = SUNFUNCS_RET_STRING,$latitude = null,$longitude = null,$zenith = null,$utcOffset = null
date_sunset() 返回给定日期(指定为 timestamp)和位置的日落时间。
timestamp获取日落时间的日期的 timestamp。
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
| 角度 | 描述 |
|---|---|
| 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 现在可以为空。 |
示例 #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)