Skip to content

Всё для WordPress, веб-разработки — и не только

Формат даты и времени с живым превью на русском

Формат даты и времени в WordPress: конструктор с живым превью

Соберите формат кнопками или впишите вручную — и сразу увидите, как дата будет выглядеть на украинском, русском или английском. Плюс готовая строка для настроек и корректный PHP-вызов для темы.

Те же коды, что и в поле «Произвольно» на странице Настройки → Общие.
Язык сайта, а не язык браузера.
Переключатель только для превью: на сайте падеж выбирает сам WordPress.

В украинском и русском название месяца имеет две формы, и wp_date() выбирает между ними по виду самого формата: если перед F стоит день (j F, d. F) — подставляется родительный («10 августа»), во всех остальных случаях — именительный («Август 2026»). Делает это функция wp_maybe_decline_date(); для английского она не включается вообще. Поэтому «Август 10, 2026» получить невозможно: порядок «день — месяц» и есть переключателем падежа.

Пресеты
День и месяц
Год и время
Разделители
Любая латинская буква в формате — это код. Чтобы вывести именно букву, поставьте перед ней обратный слеш: \a\t даёт «at», а неэкранированный at — «pm31» (a = am/pm, t = дней в месяце).
Введите строку формата или выберите пресет.
Обновляется каждую секунду. Названия месяцев и дней недели берутся из Intl.DateTimeFormat вашего браузера — в WordPress они придут из файла перевода, поэтому могут отличаться регистром или точкой в сокращениях.
Контрольный моментРезультат
Те самые даты, на которых формат обычно и ломается: однозначный день, полночь в 12-часовой записи и граница года.
Чем будете выводить дату в коде
Введите строку формата.
Вставьте в поле «Произвольно» под переключателями формата. WordPress покажет рядом живой пример — он должен совпасть с превью выше.
КодЧто означаетСейчас
Все коды формата PHP с текущими значениями; задействованные в вашей строке подсвечены. Отмеченные зависят от часового пояса — здесь браузерного, на сайте серверного.

Всё считается в вашем браузере: формат, дата и сгенерированный код никуда не отправляются.

Почему дата в теме не переводится на русский

В WordPress есть три способа вывести дату, и два из них сломаны. date() — это чистая функция PHP. Она не знает ни о локали сайта, ни о его часовом поясе, поэтому месяц всегда будет по-английски, а время — серверным. date_i18n() переводит, но устарела с WordPress 5.3 и имеет проблемы с часовыми поясами. wp_date() — единственный правильный вариант: учитывает и локаль, и часовой пояс сайта. Отдельно: strftime() объявлена устаревшей в PHP 8.1 и удалена в PHP 9. Темы, которые до сих пор ею пользуются, начнут сыпать предупреждениями, а потом и фатальными ошибками. Ещё одна деталь, специфичная для украинского: в формате «5 січня» месяц стоит в родительном падеже, а в заголовке «Січень 2026» — в именительном. Это разные формы, и подставить одну вместо другой нельзя. Инструмент показывает обе.

Частые вопросы