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

PHP Дата

Введение

Функции работы с датами в PHP необходимы разработчикам для обработки и отображения дат и времени. В этом руководстве мы подробно рассмотрим наиболее часто используемые функции работы с датами в PHP.

Примечание о часовых поясах: По умолчанию PHP использует часовой пояс, настроенный на сервере. Чтобы избежать неожиданных результатов, всегда устанавливайте часовой пояс с помощью date_default_timezone_set('UTC') или явно передавайте объект DateTimeZone.

  1. Функция date() Функция date(format, timestamp) является встроенной функцией PHP, которая форматирует метку времени в строку. Она возвращает отформатированную строку с датой. Эта функция невероятно полезна для отображения дат и времени на вашем сайте или в приложении.

    php
    echo date('Y-m-d H:i:s'); // Outputs: 2023-10-25 14:30:00
  2. Функция time() Функция time() возвращает текущую метку времени Unix (целое число), которая представляет количество секунд, прошедших с 1 января 1970 года, 00:00:00 UTC. Эта функция полезна при генерации уникальных идентификаторов, меток времени и других функций, связанных со временем.

    php
    echo time(); // Outputs: 1698241800
  3. Функция strtotime() Функция strtotime(datetime, now) преобразует строку с датой/временем в метку времени Unix. Эта функция полезна, когда вам нужно выполнить вычисления или сравнения с датами.

    php
    echo strtotime('now'); // Outputs: current timestamp
    echo strtotime('+1 day'); // Outputs: timestamp for tomorrow
  4. Функция mktime() Функция mktime(hour, minute, second, month, day, year) используется для получения метки времени Unix для конкретной даты и времени. Эта функция полезна, когда вам нужно выполнить вычисления для конкретных дат и времени.

    php
    echo mktime(0, 0, 0, 12, 31, 2023); // Outputs: timestamp for Dec 31, 2023
  5. Класс DateTime Функция date_create() является процедурным псевдонимом для new DateTime(). Хотя она всё ещё поддерживается, для объектно-ориентированного кода рекомендуется использовать new DateTime(datetime, timezone). Это полезно, когда вам нужно работать с датами и временем в объектно-ориентированном стиле.

    php
    $date = new DateTime('2023-10-25', new DateTimeZone('UTC'));
    echo $date->format('Y-m-d');
  6. Класс DateTimeImmutable Для современных PHP-приложений рекомендуется использовать DateTimeImmutable вместо DateTime. Он создает новый объект при каждом изменении, предотвращая случайное изменение состояния исходного объекта даты.

    php
    $date = new DateTimeImmutable('2023-10-25');
    $newDate = $date->modify('+1 day');
    echo $date->format('Y-m-d'); // Original remains unchanged
    echo $newDate->format('Y-m-d'); // Outputs: 2023-10-26
  7. Метод DateTime::format() Метод DateTime::format(format) используется для форматирования объекта DateTime в указанную строку. Этот метод полезен, когда вам нужно отображать даты и время в определенном формате.

    php
    $date = new DateTime();
    echo $date->format('l, F j, Y'); // Outputs: Wednesday, October 25, 2023

Заключение

Подводя итог, функции работы с датами в PHP необходимы разработчикам для обработки и отображения дат и времени. В этом руководстве мы рассмотрели наиболее часто используемые функции работы с датами в PHP и подробно объяснили, как они работают. Следуя советам и рекомендациям, изложенным в этом руководстве, вы можете быть уверены, что ваш сайт или приложение использует самые современные и надежные функции для работы с датами.

Практика

Что делает функция PHP 'date'?

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

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