date_sunrise

(PHP 5, PHP 7, PHP 8)

date_sunrise返回给定的日期与地点的日出时间

说明

date_sunrise(
    int $timestamp,
    int $format = SUNFUNCS_RET_STRING,
    float $latitude = ini_get("date.default_latitude"),
    float $longitude = ini_get("date.default_longitude"),
    float $zenith = ini_get("date.sunrise_zenith"),
    float $gmt_offset = 0
): mixed

date_sunrise() 返回给定的日期(以 timestamp 指定)与地点的日出时间。

参数

timestamp

timestamp所在日期的日出时间。

format

format 常量
常量 说明 取值举例
SUNFUNCS_RET_STRING string 格式返回结果 16:46
SUNFUNCS_RET_DOUBLE float 格式返回结果 16.78243132
SUNFUNCS_RET_TIMESTAMP integer 格式(时间戳)返回结果 1095034606

latitude

默认是指北纬。因此如果要指定南纬,必须传递一个负值。 参见 date.default_latitude

longitude

默认是指东经。因此如果要指定西经,必须传递一个负值。 参见 date.default_longitude

zenith

默认: date.sunrise_zenith

gmtoffset

单位是小时。

返回值

按指定格式 format 返回的日出时间, 或者在失败时返回 false

错误/异常

在每次调用日期/时间函数时,如果时区无效则会引发 E_NOTICE 错误。参见 date_default_timezone_set()

更新日志

版本 说明
5.1.0

现在发布 E_STRICTE_NOTICE 时区错误。

范例

示例 #1 date_sunrise() 例子

<?php

/* 计算葡萄牙里斯本的日出时间
Latitude:  北纬 38.4 度
Longitude: 西经 9 度
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunrise time : ' .date_sunrise(time(), SUNFUNCS_RET_STRING38.4, -9901);

?>

以上例程的输出类似于:

Mon Dec 20 2004, sunrise time : 08:54

参见