date_sun_info
(PHP 5 >= 5.1.2, PHP 7)
date_sun_info — Возвращает массив с информацией о закате/рассвете и начале/окончании сумерек
Описание
$timestamp
, float $latitude
, float $longitude
) : arrayСписок параметров
-
timestamp
-
Временная метка Unix.
-
latitude
-
Широта в градусах.
-
longitude
-
Долгота в градусах.
Возвращаемые значения
Возвращает массив в случае успешного выполнения или false
в случае возникновения ошибки.
Структура массива подробно описана в следующем списке:
-
sunrise
- Временная метка восхода солнца (зенитный угол = 90°35').
-
sunset
- Временная метка заката солнца (зенитный угол = 90°35').
-
transit
- Временная метка, когда солнце находится в своем зените, то есть достигло самой верхней точки.
-
civil_twilight_begin
-
Начало гражданского рассвета (зенитный угол = 96°). Оно заканчивается на
sunrise
. -
civil_twilight_end
-
Конец гражданского заката (зенитный угол = 96°). Оно начинается на
sunset
. -
nautical_twilight_begin
-
Начало навигационного рассвета (зенитный угол = 102°). Оно заканчивается
civil_twilight_begin
. -
nautical_twilight_end
-
Конец навигационного заката (зенитный угол = 102°). Оно начинается на
civil_twilight_end
. -
astronomical_twilight_begin
-
Начало астрономического рассвета (зенитный угол = 108°). Оно заканчивается на
nautical_twilight_begin
. -
astronomical_twilight_end
-
Конец астрономического заката (зенитный угол = 108°). Оно начинается на
nautical_twilight_end
.
Значения элементов массива - лбо временная метка UNIX, false
, если солнце находится
ниже соответствующего зенита в течение всего дня, или true
, если солнце находится выше соответствующего зенита в течение всего дня.
Примеры
Пример #1 Пример использования date_sun_info()
<?php
$sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333);
foreach ($sun_info as $key => $val) {
echo "$key: " . date("H:i:s", $val) . "\n";
}
?>
Результат выполнения данного примера:
sunrise: 05:52:11 sunset: 15:41:21 transit: 10:46:46 civil_twilight_begin: 05:24:08 civil_twilight_end: 16:09:24 nautical_twilight_begin: 04:52:25 nautical_twilight_end: 16:41:06 astronomical_twilight_begin: 04:21:32 astronomical_twilight_end: 17:12:00
Пример #2 Полярная ночь
<?php
var_dump(date_sun_info(strtotime("2017-12-21"), 90, 0));
?>
Результат выполнения данного примера:
array(9) { ["sunrise"]=> bool(false) ["sunset"]=> bool(false) ["transit"]=> int(1513857490) ["civil_twilight_begin"]=> bool(false) ["civil_twilight_end"]=> bool(false) ["nautical_twilight_begin"]=> bool(false) ["nautical_twilight_end"]=> bool(false) ["astronomical_twilight_begin"]=> bool(false) ["astronomical_twilight_end"]=> bool(false) }
Пример #3 Полуночное солнце
<?php
var_dump(date_sun_info(strtotime("2017-06-21"), 90, 0));
?>
Результат выполнения данного примера:
array(9) { ["sunrise"]=> bool(true) ["sunset"]=> bool(true) ["transit"]=> int(1498046510) ["civil_twilight_begin"]=> bool(true) ["civil_twilight_end"]=> bool(true) ["nautical_twilight_begin"]=> bool(true) ["nautical_twilight_end"]=> bool(true) ["astronomical_twilight_begin"]=> bool(true) ["astronomical_twilight_end"]=> bool(true) }
Смотрите также
- date_sunrise() - Возвращает время рассвета для заданных дня и местоположения
- date_sunset() - Возвращает время захода солнца для заданных дня и местоположения