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

# date_sunrise

(PHP 5, PHP 7, PHP 8)

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

Внимание

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

### Описание

#[\Deprecated]
function 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);

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

    Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in script on line 10
    Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in script on line 10
    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));

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

    Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in script on line 3
    Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in script on line 3
    bool(false)

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

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open