Дата и время в PHP

Содержание
Введение
Пример без ООП
День недели
DateTimeImmutable: пример с ООП
UTC время в PHP
Номер недели в PHP
Прибавить или убавить дату
getTimestamp(): Получить Epoch Time
Похожие статьи

Введение

Со временем и датой обычно работают с помощью функции date

В ООП парадигме можно воспользоваться DateTimeImmutable

Примеры

Сегодняшняя дата - только числа

date("Y-m-d"); date("Y:m:d");

2025-04-22
2025:04:22

Сегодняшняя дата - месяц прописью

date("Y-M-d");
date("Y:M:d");

2025-Apr-22
2025:Apr:22

День недели прописью

date("D");

Tue

День недели плюс дата

date("D-Y-M-d");
date("D:Y:M:d");
date("D Y:M:d");

Tue-2025-Apr-22
Tue:2025:Apr:22
Tue 2025:Apr:22

Месяц и число плюс время

date("M d H:i:s");

Apr 22 18:36:34

Текущее время в формате Epoch Time

time();

1745336194

DateTimeImmutable: пример с ООП

Если вы немного знакомы с ООП можете создать объект DateTimeImmutable и использовать его

$now = new DateTimeImmutable('now', new DateTimeZone('Europe/Moscow')); echo'Московское время: ' echo $now->format('H:i:s');

Московское время: 18:36:34

Формат настраивается довольно гибко. Например заменим : на / поменяем порядок и уберем нули перед цифрами если они есть

echo $now->format('j/n/Y');

22/4/2025

UTC время в PHP

$utc = new DateTimeImmutable('now', new DateTimeZone('UTC')); echo 'UTC: ' echo $utc->format('H:i:s');

UTC
15:36:34

Номер недели в PHP

В некоторых странах, например в Финляндии принято планировать на основе порядкого номера недели.

Узнать какая сейчас идёт неделя можно с помощью следующего кода

$now = new DateTimeImmutable('now', new DateTimeZone('Europe/Moscow')); echo'Сейчас идёт неделя номер: ' echo $now->format('W');

Сейчас идёт неделя номер: 17

Прибавить или убавить дату

С датой можно производить различные манипуляции

$next_week = new DateTimeImmutable('+1 week', new DateTimeZone('Europe/Helsinki')); echo$next_week->format('Y-m-d');

2025-04-29

Epoch Time:

Получить Epoch Time или Unix время можно с помощью метода getTimestamp()

$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;

Московское время: 18:36:34
Epoch Time: 1745336194

Сконвертировать в обратном направлении можно следующим образом.

echo date("Y-m-d H:i:s", substr($epoch, 0, 10));

Автор статьи: Андрей Олегович

Похожие статьи
PHP
Массивы
Циклы, ветвления
Дата и время. Часовые пояса
gettype(): определить тип переменной PHP
json_decode
Как получить ширину экрана с помощью PHP
Узнать свой HTTP_USER_AGENT
Классы в PHP 8
substr: обрезать строку
Запросы к REST API на PHP
$_SERVER['REQUEST_URI']: текущая url
Работа с базами данных
Работа с cookies
PHP sessions
Аутентификация и авторизация в PHP 8
Мои скрипты
Разбор ошибок

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: