Конструктор формату date() у PHP
Збирає рядок формату з чипів і показує, що кожен символ дасть для вашої дати й таймзони.
Позбавляє від пошуку «php date format» уп’яте за тиждень
Формат дати в PHP це набір літер, який ніхто не памʼятає повністю: Y чи y, m чи M, N чи w. Інструмент збирає формат із чипів, одразу показує результат для вибраної дати й таймзони і розкладає кожен символ у таблицю «символ → значення». Є пресети: ISO 8601, RFC 2822, MySQL, Atom.
Той самий рядок формату приймають date(), DateTime::format() і Carbon::format(). Літери розкриваються у частини дати, усе інше виводиться як є; щоб вивести саму літеру, її екранують зворотним слешем. Константи DATE_ATOM, DATE_RFC2822 і DATE_RSS вже містять готові формати, тому для стандартних випадків рядок писати не треба.
$date = new DateTimeImmutable('2026-09-05 14:30:00', new DateTimeZone('Europe/Kyiv'));
echo $date->format('Y-m-d H:i:s'); // 2026-09-05 14:30:00 (MySQL)
echo $date->format(DATE_ATOM); // 2026-09-05T14:30:00+03:00
echo $date->format('D, d M Y'); // Sat, 05 Sep 2026
echo $date->format('\Т\и\ж\д\е\н\ь W'); // Тиждень 36
Що питають про цей інструмент
date() працює з timestamp і таймзоною за замовчуванням, тому легко отримати «вчорашню» дату після переходу на літній час або на сервері в UTC. DateTimeImmutable несе таймзону в собі, а кожен modify повертає новий обʼєкт, тому старе значення не змінюється непомітно десь у коді.
date() і format() дають лише англійські назви. Для локалізації беріть IntlDateFormatter з локаллю uk_UA або Carbon з ->locale('uk') і методом isoFormat: він знає відмінки, тож «5 вересня» буде правильним, а не «5 вересень».
U це Unix timestamp у секундах, u мікросекунди (шість цифр), v мілісекунди (три цифри). Для логів і черг зазвичай потрібен v; для сортування записів у базі краще зберігати повну дату з таймзоною, а не timestamp.