PHP 8.4.2 Released!

date_sunrise

(PHP 5, PHP 7, PHP 8)

date_sunrise Возвращает время рассвета для заданных дня и местоположения

Внимание

Начиная с PHP 8.1.0 функция УСТАРЕЛА. Разработчики языка настоятельно не рекомендуют полагаться на функцию. Вместо неё лучше пользоваться функцией date_sun_info().

Описание

#[\Deprecated]
date_sunrise(
    int $timestamp,
    int $returnFormat = SUNFUNCS_RET_STRING,
    ?float $latitude = null,
    ?float $longitude = null,
    ?float $zenith = null,
    ?float $utcOffset = null
): string|int|float|false

Функция date_sunrise() возвращает время рассвета для дня, который указали в аргументе timestamp, и расположения.

Список параметров

timestamp

Параметр timestamp принимает метку времени дня, для которого берётся время рассвета.

returnFormat

Константы, которые принимает параметр 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.

Распространённые углы зенита 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)

Смотрите также

  • date_sun_info() - Возвращает массив с информацией о закате или рассвете и начале или окончании сумерек

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top