(PHP 5, PHP 7, PHP 8)
date_sunrise — Возвращает время рассвета для заданных дня и местоположения
Начиная с PHP 8.1.0 функция УСТАРЕЛА. Разработчики языка настоятельно не рекомендуют полагаться на функцию. Вместо неё лучше пользоваться функцией date_sun_info().
$timestamp
,$returnFormat
= SUNFUNCS_RET_STRING
,$latitude
= null
,$longitude
= null
,$zenith
= null
,$utcOffset
= null
Функция date_sunrise() возвращает время рассвета
для дня, который указали в аргументе 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.sunrise_zenith.
Угол | Описание |
---|---|
90°50' | Восход солнца: точка, в которой солнце становится видимым. |
96° | Гражданские сумерки: традиционно обозначает начало рассвета. |
102° | Навигационные сумерки: точка, в которой горизонт становится видимым с моря. |
108° | Астрономические сумерки: момент, когда солнце становится источником освещения. |
utcOffset
Задаётся в часах.
Функция игнорирует параметр utcOffset
,
если значение параметра returnFormat
равно значению константы SUNFUNCS_RET_TIMESTAMP
.
Функция возвращает время восхода солнца в формате, который определили в параметре
returnFormat
, если завершилась успешно, или false
, если возникла ошибка.
Функция завершится неудачно, если солнце вообще не поднимается над горизонтом,
что бывает внутри полярных кругов в течение части года.
Каждый вызов функции для работы с датой и временем генерирует ошибку уровня E_WARNING
при неправильных настройках часового пояса. Смотрите также описание функции
date_default_timezone_set().
Версия | Описание |
---|---|
8.1.0 | Функция устарела, пользуйтесь вместе неё функцию date_sun_info(). |
8.0.0 |
Параметры latitude , longitude ,
zenith и utcOffset теперь принимают значение null .
|
Пример #1 Пример получения времени рассвета функцией date_sunrise()
<?php
/* Расчёт времени восхода солнца в Лиссабоне, Португалия
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/
echo date("D M d Y"). ', время восхода солнца : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
?>
Вывод приведённого примера будет похож на:
Mon Dec 20 2004, время восхода солнца : 08:54
Пример #2 Пример работы функции для времени и расположения, при которых солнце не восходит
<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunrise($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>
Результат выполнения приведённого примера:
bool(false)