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

time()

Введение

PHP предоставляет обширный набор функций для работы с датами и временем, необходимых для эффективной обработки временных данных. В этом руководстве рассматриваются наиболее часто используемые функции, их синтаксис и практическое применение. Обратите внимание, что PHP использует часовой пояс сервера по умолчанию для таких функций, как date() и time(). Вы можете задать его явно с помощью date_default_timezone_set('UTC');.

Функция даты PHP

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

Пример функции date() в PHP

php
<?php

echo date("Y-m-d"); // outputs something like "2023-03-03"

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

Функция времени PHP

Функция time() возвращает текущую временную метку Unix, которая отсчитывает количество секунд, прошедших с 1 января 1970 года, 00:00:00 UTC.

Как использовать функцию PHP time()?

php
<?php

echo time(); // outputs something like "1646357879"

Возвращаемое целое число можно напрямую передать в date() или другие функции для работы со временем для дальнейшей обработки.

Функция PHP strtotime

Функция strtotime() преобразует текстовое описание даты и времени на английском языке во временную метку Unix. Она принимает один строковый аргумент.

Пример функции PHP strtotime

php
<?php

echo strtotime("2023-03-03 12:00:00"); // outputs something like "1646378400"

Это преобразует указанную строку с датой и временем в соответствующее значение временной метки Unix.

Класс PHP DateInterval

Класс DateInterval представляет собой промежуток времени между двумя датами или временными точками. В современной разработке на PHP для вычисления интервалов обычно используется DateTimeImmutable, так как это позволяет избежать изменения исходного объекта даты.

Пример класса PHP DateInterval

php
<?php

$date1 = new DateTimeImmutable('2023-03-03');
$date2 = new DateTimeImmutable('2023-03-10');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days'); // outputs "+7 days"

Это вычисляет разницу между двумя датами. Спецификатор формата %R%a выводит знак (+ или -), за которым следует общее количество дней.

Функции часовых поясов PHP

PHP управляет часовыми поясами с помощью класса DateTimeZone и связанных с ним методов. Они позволяют преобразовывать время между поясами и отображать смещения от UTC.

Пример функций часовых поясов PHP

php
<?php

$dateTime = new DateTimeImmutable('2023-03-03 12:00:00', new DateTimeZone('America/New_York'));
echo $dateTime->format('Y-m-d H:i:s T'); // outputs "2023-03-03 12:00:00 EST"

Это выводит дату и время в указанном поясе, а также его сокращение (например, EST).

Заключение

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

Практика

Какие возможности предоставляет функция 'date()' в PHP?

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

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