Перейти к содержимому

date()

Введение

Функция date() — одна из наиболее часто используемых встроенных функций PHP для форматирования дат и времени. В этом руководстве рассматриваются её параметры, примеры использования, а также способы устранения распространённых проблем.

Обзор функции date() в PHP

Функция date() — это встроенная функция PHP, которая позволяет форматировать дату и время различными способами. Она принимает два параметра: строку формата и метку времени (timestamp). Строка формата определяет, как должны быть отформатированы дата и время, а метка времени является необязательной и указывает, какую метку времени нужно отформатировать. Если метка времени не указана, используются текущие дата и время.

Параметры функции date()

Строка формата, используемая в функции date(), может содержать различные символы формата, которые заменяются соответствующими значениями для форматирования даты и времени. Некоторые из наиболее часто используемых символов формата:

  • d: День месяца (от 01 до 31)
  • m: Месяц (от 01 до 12)
  • Y: Год (четыре цифры)
  • H: Часы в 24-часовом формате (от 00 до 23)
  • i: Минуты (от 00 до 59)
  • s: Секунды (от 00 до 59)
  • l: Полное текстовое представление дня недели (от Воскресенья до Субботы)

Примечание: Символы формата чувствительны к регистру. Например, d выводит день с ведущим нулём (01–31), тогда как D выводит день в виде текстового сокращения (Пн–Вс). Аналогично, l (строчная L) возвращает полное название дня, тогда как L указывает, является ли год високосным (1 или 0).

Примеры использования

Рассмотрим несколько примеров использования функции date() для форматирования даты и времени:

php
echo date("Y/m/d"); // outputs: 2023/03/02
php
echo date("H:i:s"); // outputs: 14:35:22
php
echo date("Y-m-d H:i:s"); // outputs: 2023-03-02 14:35:22

Вы также можете передать необязательную метку времени в качестве второго параметра для форматирования конкретной точки во времени:

php
echo date("Y-m-d", 1677724800); // outputs: 2023-03-02 (UTC)

Примечание: Метка времени 1677724800 представляет собой конкретный момент во времени в часовом поясе UTC. Отображаемая дата может сместиться, если часовой пояс по умолчанию на вашем сервере отличается от UTC.

Как видите, строку формата можно настроить для вывода даты и времени в различных форматах.

Устранение распространённых проблем

При использовании функции date() разработчики могут столкнуться с несколькими распространёнными проблемами. Вот некоторые из них и способы их решения:

  • Нераспознанные символы формата: date() выводит любой нераспознанный символ формата как есть, вместо того чтобы генерировать ошибку. Убедитесь, что вы используете допустимые символы формата из официальной документации PHP.
  • Ограничения диапазона меток времени: На 32-битных системах метки времени за пределами диапазона 1970–2038 могут привести к непредсказуемым результатам или переполнению целочисленного типа. Для дат вне этого диапазона используйте класс DateTime.
  • Предупреждения о часовом поясе: В PHP 8.1+ вызов date() без настроенного часового пояса вызывает предупреждение об устаревании. Установите часовой пояс в начале скрипта с помощью date_default_timezone_set('UTC'); (или вашего предпочтительного часового пояса).

Заключение

Подводя итог, функция date() в PHP — это мощный инструмент, позволяющий разработчикам форматировать дату и время различными способами. Благодаря настраиваемым параметрам и простоте использования, она является популярным выбором среди разработчиков по всему миру. Для более сложных операций с датой и временем рекомендуется использовать современный класс DateTime в PHP, который предоставляет объектно-ориентированные методы и более удобную работу с часовыми поясами. Следуя рекомендациям, изложенным в этой статье, вы сможете избежать распространённых проблем и максимально эффективно использовать эту универсальную функцию.

Практика

Какие функции используются в PHP для получения информации о указанном календаре?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.