date_sunrise

(PHP 5, PHP 7, PHP 8)

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

Внимание

Функция УСТАРЕЛА, начиная с PHP 8.1.0. Полагаться на эту функцию крайне не рекомендуется. Используйте вместо неё функцию date_sun_info().

Описание

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 тип возвращаемого результата string16:46
SUNFUNCS_RET_DOUBLE тип возвращаемого результата float16.78243132
SUNFUNCS_RET_TIMESTAMP тип возвращаемого результата int (временная метка) 1095034606
latitude

По умолчанию в Северном полушарии, для Южного передаётся отрицательная величина. Смотрите также date.default_latitude.

longitude

По умолчанию восточная, для указания западной долготы передаётся отрицательная величина. Смотрите также date.default_longitude.

zenith

zenith - это угол между центром Солнца и линией, перпендикулярной поверхности Земли. По умолчанию date.sunrise_zenith

Распространённые углы zenith angles
УголОписание
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.0latitude, longitude, zenith и utcOffset теперь допускают значение null.

Примеры

Пример #1 Пример использования date_sunrise()

<?php



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