Jump to main content Jump to doc navigation

MODX написан на PHP и, как таковой, опирается на базовые функции даты PHP, например, strftime. Обсуждение здесь может быть довольно сложным, потому что strftime и strtotime функции развертывают схожие аргументы, но они не идентичны.

Обсуждение здесь относится в первую очередь к следующим областям содержимого:

  • createdon — дата создания;
  • deletedon — дата удаления;
  • editedon — дата последнего редактирования;
  • publishedon — дата когда ресурс был опубликован;
  • pub_date — дата когда ресурс должен появиться в публикации;
  • unpub_date — дата снятия с публикации.

Unix timestamps и отформатированные даты

В зависимости от источника и метода получения значения вы можете получить Unix timestamps или отформатированную дату. Unix timestamps распознается как большое целое число (представляющее количество секунд с 1 января 1970 года).

В MODX date output modifier, который используется для форматирования дат с использованием PHP strftime() функции, ожидает unix timestamp. Чтобы преобразовать форматированную дату в unix timestamps, вы будете использовать модификатор вывода strtotime.

Поэтому, если значение, скажем [[*madeon]], возвращает отформатированную дату, вам необходимо сначала преобразовать ее в unix timestamp с помощью [[*madeon:strtotime]], прежде чем вы сможете отформатировать ее с помощью date , но если значение немедленно возвращает unix timestamp, вы можете пропустить это.

Общие примеры

Невозможно привести все возможные примеры, но вот несколько распространенных способов форматирования дат с использованием выходных фильтров MODX.

Пример вывода Параметры фильтра
Thu Apr 14, 2011 [[*createdon:strtotime:date=`%a %b %d, %Y`]]
18 April 2011 [[*createdon:strtotime:date=`%d %B %Y`]]
Monday, April 18, 2011 [[*createdon:strtotime:date=`%A, %B %d, %Y`]]
2011-04-18 [[*createdon:strtotime:date=`%Y-%m-%d`]]
Зависит от конфигурации [[*createdon:strtotime:date=`[[++manager_date_format]]`]]

Все параметры

Модификатор вывода данных внутренне выполняет Функция PHP strftime, поэтому вся документация о strftime относится и к модификатору вывода даты.

Чтобы изменить язык, используемый модификатором вывода date (например, для названия дней и месяцев), настройте locale system setting в MODX соответственно.

Код Отображение Пример
%a Краткое название дня недели Вск
%A Полное название дня недели Воскресенье
%b Краткое название месяца Янв
%B Полное название месяца Январь
%c Местная дата и время Ср янв 7 00:22:10 2010
%C Век (год делится на 100, диапазон от 00 до 99) 20
%d День месяца (с 01 по 31) 03
%D То же, что и %m/%d/%y 04/29/10
%e День месяца (с 1 по 31) 3
%H Час (в 24-часовом формате) 00-23
%I Час (в 12-часовом формате) 01-12
%l (в нижнем регистре L) Час в 12-часовом формате с пробелом, предшествующим одной цифре 1-12
%j День года От 001 до 366
%m Месяц От 01 до 12
%M Минута От 00 до 59
%n Символ новой строки \n
%P до или после полудня am
%p До или после полудня AM
%r То же, что и %I:%M:%S %p 08:23:11 PM
%R То же, что и %H:%M 23:11
%S Секунда 00 to 59
%t Символ табуляции \t
%T То же, что и %H:%M:%S 26:12:27
%u День недели (понедельник=1) 01 to 07
%w День недели (воскресенье=0) 00 to 06
%x Только дата 01/25/09
%X Только время 02:58:12
%y Двузначный год 09
%Y Четырехзначный год 2010
%Z или %z Смещение часового пояса или название -005 или EST
%% Буквальный символ% %

Примечание о совместимости сервера

Не все серверы поддерживают все параметры форматирования, в частности, в Windows «%e» не поддерживается, а «%z» и «%Z» возвращают имя часового пояса вместо смещения. На Mac %P не поддерживается.

Смотрите также

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • modmore
  • Jens Wittmann – Gestaltung & Entwicklung
  • Raffy
  • eydolan
  • Digital Penguin
  • Fabian Christen
  • Dannevang Digital
  • deJaya
  • Sepia River Studios
  • Following Sea
  • Anton Tarasov
  • Lefthandmedia
  • Nick Clark
  • Chris Fickling
  • Murray Wood
  • YJ
  • CrewMark
  • Richard

Budget

$305 per month—let's make that $500!

Learn more