PHP 8.4.2 Released!

date_sunset

(PHP 5, PHP 7, PHP 8)

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

Внимание

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

Описание

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

Функция date_sunset() возвращает время захода солнца для дня, который указали в аргументе 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_sunset()

<?php

/* Расчёт времени захода солнца в Лиссабоне, Португалия
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', время захода солнца : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

Вывод приведённого примера будет похож на:

Mon Dec 20 2004, время захода солнца : 18:13

Пример #2 Пример работы функции для времени и расположения, при которых солнце не заходит

<?php

$solstice
= strtotime('2017-12-21');
var_dump(date_sunset($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));

?>

Результат выполнения приведённого примера:

bool(false)

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

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

Добавить

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

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