Дата и время в PHP
| Введение | |
| Пример без ООП | |
| День недели | |
| DateTimeImmutable: пример с ООП | |
| UTC время в PHP | |
| Номер недели в PHP | |
| Прибавить или убавить дату | |
| getTimestamp(): Получить Epoch Time | |
| Похожие статьи |
Введение
Со временем и датой обычно работают с помощью функции
date
В ООП парадигме можно воспользоваться
DateTimeImmutable
Примеры
Сегодняшняя дата - только числа
date("Y-m-d"); date("Y:m:d");
2026-06-15
2026:06:15
Сегодняшняя дата - месяц прописью
date("Y-M-d");
date("Y:M:d");
2026-Jun-15
2026:Jun:15
День недели прописью
date("D");
Mon
День недели плюс дата
date("D-Y-M-d");
date("D:Y:M:d");
date("D Y:M:d");
Mon-2026-Jun-15
Mon:2026:Jun:15
Mon 2026:Jun:15
Месяц и число плюс время
date("M d H:i:s");
Jun 15 06:21:26
Текущее время в формате Epoch Time
time();
1781493686
DateTimeImmutable: пример с ООП
Если вы немного знакомы с ООП можете создать объект DateTimeImmutable и использовать его
$now = new DateTimeImmutable('now', new DateTimeZone('Europe/Moscow')); echo'Московское время: ' echo $now->format('H:i:s');
Московское время: 06:21:26
Формат настраивается довольно гибко. Например заменим : на / поменяем порядок и уберем нули перед цифрами если они есть
echo $now->format('j/n/Y');
15/6/2026
UTC время в PHP
$utc = new DateTimeImmutable('now', new DateTimeZone('UTC')); echo 'UTC: ' echo $utc->format('H:i:s');
UTC
03:21:26
Номер недели в PHP
В некоторых странах, например в
Финляндии
принято планировать на основе порядкого номера недели.
Узнать какая сейчас идёт неделя можно с помощью следующего кода
$now = new DateTimeImmutable('now', new DateTimeZone('Europe/Moscow')); echo'Сейчас идёт неделя номер: ' echo $now->format('W');
Сейчас идёт неделя номер: 25
Прибавить или убавить дату
С датой можно производить различные манипуляции
<?php $next_week = new DateTimeImmutable('+1 week', new DateTimeZone('Europe/Helsinki')); echo $next_week->format('Y-m-d'); ?>
2026-06-22
Прибавить к текущему времени 5 секунд.
<?php $now = new DateTimeImmutable('now', new DateTimeZone('Europe/Moscow')); $future = $now->modify('+5 seconds'); echo $now->format('Y-m-d H:i:s'); echo '<br>'; echo $future->format('Y-m-d H:i:s'); ?>
2026-06-15 06:21:26
2026-06-15 06:21:31
Epoch Time:
Получить
Epoch Time
или
Unix
время можно с помощью метода getTimestamp()
<?php $now = new DateTimeImmutable('now', new DateTimeZone('Europe/Moscow')); $epoch = $now->getTimestamp(); echo 'Московское время: ' echo $now->format('H:i:s'); echo '<br>'; echo 'Epoch Time: ' echo $epoch; ?>
Московское время: 06:21:26
Epoch Time: 1781493686
Сконвертировать в обратном направлении можно следующим образом.
<?php echo date("Y-m-d H:i:s", substr($epoch, 0, 10)); ?>
Автор статьи: Андрей Олегович