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() - Возвращает время захода солнца для заданных дня и местоположения