date_sun_info()

1. 定义

该函数返回指定时间地点的日出、日落、民用晨昏蒙影、航海晨昏蒙影和天文晨昏蒙影时间的关联数组。

注:

  • 民用晨昏蒙影:指的是太阳在地平线下0-6°时为民用黎明或黄昏,此时天顶角取96°
  • 航海晨昏蒙影:指的是太阳在地平线下6-12°时为航海黎明或黄昏,天空的亮度比民用晨昏蒙影更低,此时天顶角取102°
  • 天文晨昏蒙影:指的是太阳在地平线下12-18°时为天文黎明或黄昏,在天文黎明前,天空是绝对黑暗的,此时天顶角取108°

2. 语法

date_sun_info ( int $time , float $latitude , float $longitude ) : array

3. 参数说明

参数 可选性 数据类型 描述
$time 必需 整型 指定日期的时间戳
$latitude 必需 浮点型 指定地点的纬度,默认方向为北纬,指定南纬需加上负号。默认纬度为php.ini中的配置值
$longitude 必需 浮点型 指定地点的经度,默认方向为东经,指定西经需加上负号。默认经度为php.ini中的配置值

4. 示例

<?php

// date_sun_info()
// 返回指定时间地点的日出、日落、民用晨昏蒙影、航海晨昏蒙影和天文晨昏蒙影时间的关联数组

$res = date_sun_info(time(), 30.274, 120.155);
var_dump($res);
/* 输出:
array(9) {
    ["sunrise"]=>int(1566855180)
    ["sunset"]=>int(1566901749)
    ["transit"]=>int(1566878465)
    ["civil_twilight_begin"]=>int(1566853705)
    ["civil_twilight_end"]=>int(1566903224)
    ["nautical_twilight_begin"]=>int(1566851957)
    ["nautical_twilight_end"]=>int(1566904972)
    ["astronomical_twilight_begin"]=>int(1566850163)
    ["astronomical_twilight_end"]=>int(1566906767)
  }
 */

/* 
其中,返回结果的各项数据分别为:
sunrise                       天顶角为90°35'时的日出时间
sunset                        天顶角为90°35'时的日落时间
transit                       太阳处于天顶的时间,即已到达其最高点
civil_twilight_begin          民间黎明的开始(天顶角= 96°)
civil_twilight_end            民间黄昏结束(天顶角= 96°)
nautical_twilight_begin       航海黎明的开始(天顶角= 102°)
nautical_twilight_end         航海黄昏结束(天顶角= 102°)
astronomical_twilight_begin   天文黎明的开始(天顶角= 108°)
astronomical_twilight_end     天文黄昏的结束(天顶角= 108°)
 */

5. 延展阅读