TGViewer
PHP Portal | Программирование PHP Portal | Программирование @phpgx · 4.64K subscribers
Post #177 2.31K
Работа с датой и временем в PHP: просто и эффективно

Дата и время — одни из самых востребованных инструментов в веб-разработке. PHP предлагает множество встроенных функций и классов для работы с ними. Давайте разберем основные.

1️⃣Получение текущей даты и времени

Самый простой способ узнать текущее время:
echo date('Y-m-d H:i:s'); // Текущая дата и время в формате "2024-12-06 12:34:56"


Используя date(), можно кастомизировать формат. Примеры:
🔹Y — год (4 цифры)
🔹m — месяц
🔹d — день
🔹H — часы (24 часа)
🔹i — минуты
🔹s — секунды

2️⃣ Работа с объектами DateTime

Класс DateTime предлагает больше возможностей, чем простая функция date():
$now = new DateTime();
echo $now->format('Y-m-d H:i:s'); // Текущая дата и время

Установить дату и время вручную:
$date = new DateTime('2023-01-01 10:00:00');
echo $date->format('d-m-Y H:i'); // 01-01-2023 10:00


3️⃣ Вычисление разницы между датами

Чтобы узнать разницу между двумя датами, используйте метод diff():
$start = new DateTime('2023-01-01');
$end = new DateTime('2024-12-06');

$interval = $start->diff($end);
echo $interval->format('%y лет, %m месяцев, %d дней'); // "1 лет, 11 месяцев, 5 дней"


4️⃣ Добавление или вычитание времени

Добавлять или вычитать дни, месяцы и годы можно с помощью modify():
$date = new DateTime('2024-12-06');
$date->modify('+10 days'); // Добавляем 10 дней
echo $date->format('Y-m-d'); // 2024-12-16

$date->modify('-2 months'); // Вычитаем 2 месяца
echo $date->format('Y-m-d'); // 2024-10-16


5️⃣ Учет часовых поясов

Работать с разными часовыми поясами тоже легко:
$date = new DateTime('now', new DateTimeZone('America/New_York'));
echo $date->format('Y-m-d H:i:s'); // Дата и время в Нью-Йорке

Сменить часовой пояс:
$date->setTimezone(new DateTimeZone('Asia/Tokyo'));
echo $date->format('Y-m-d H:i:s'); // Дата и время в Токио


6️⃣ Преобразование строк в дату

Используйте DateTime::createFromFormat(), чтобы разобрать строку:
$date = DateTime::createFromFormat('d.m.Y', '06.12.2024');
echo $date->format('Y-m-d'); // 2024-12-06


✅ Итог
PHP предлагает мощные инструменты для работы с датой и временем. Используйте их для отображения времени, расчета интервалов и поддержки разных часовых поясов.

Если хотите подробнее разобраться с календарями или локализацией даты, дайте знать💙

👉 @PHPgx | #заметки
  • 👍 16
  • ❤ 5
  • 🌚 2
More from @phpgx
  1. Sep 21, 2026Совет по Laravel Все исходящие HTTP-ответы можно обрабатывать в одном месте с помощью Http…
  2. Sep 11, 2026Laravel tip Нужно получить все записи, кроме последних 5? skip() сам по себе игнорируется,…
  3. Sep 7, 2026В Laravel 13.30 появился удобный метод для Collection Использовали chunkWhile(), чтобы про…
  4. Sep 7, 2026PHP-совет В числовых литералах можно использовать подчёркивания, чтобы визуально группиров…
  5. Sep 2, 2026Он не из наших 👉 @PHPgx
  6. Aug 26, 2026TypePHP вышел в open source раньше запланированного 🎉 Изначально релиз исходников был нам…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →