Форматирование дат и времени в modx revo

Выводятся даты при помощи модификаторов phx аналогично функции PHP strftime. В основном взаимодействие с датами и временем ограничивается этими полями ресурса:

  • createdon
  • deletedon
  • editedon
  • publishedon
  • unpub_date

Типичные примеры:

Параметры phxВывод на страницу
[[*createdon:date=`%a %b %e, %Y`]]
Thu Apr 14, 2012
[[*createdon:date=`%e %B %Y`]]
18 April 2012
[[*createdon:date=`%A, %B %e, %Y`]]
Monday, April 18, 2012
[[*createdon:date=`%d.%m.%Y`]]
18.04.2012

 

Мультиязычность:

 

В случаях когда требуется выводить русские названия месяцев или дней недели, многие долбаёшки - пишут сниппет, который перебирает из массива название англоязычного по ключу и переводят в рус формат. На самом деле делается это много проще: в настройках системы есть ключик под названием locale, ну соотственно для нужных контекстов просто задаем ru_RU.UTF8 или для английской версии сайта en_US.UTF8.

 

Все возможные параметры:

 

КодОписаниеВывод
%a Короткое наименование дня недели Sun
%A Полное наименование дня недели Sunday
%b Короткое наименование месяца Jan
%B Полное наименование месяца January
%c Дата и время сервера Wed Jan 7 00:22:10 2010
%C Век 20
%d День месяца ( формат от 01 до 31 ) 04
%D Аналогично %m/%d/%y 04/29/10
%e День месяца ( формат от 1 до 31) 3
%H Часы ( 24-часовые, формат от 00 до 23 ) 15
%I ( от i ) Часы ( 12-часовые, формат от 01 до 12 ) 09
%l ( от L ) Часы ( 12-часовые, формат от 1 до 12 ) 5
%j День года по счету ( формат от 001 до 366 ) 234
%m Месяц в году по счету ( формат от 01 до 12 ) 3
%M Минута ( формат от 00 до 59 ) 43
%n Перенос строки \n
%p am или pm am или pm
%P AM или PM AM или PM
%r Аналогично %I:%M:%S %p 08:23:11 PM
%R Аналогично %H:%M 23:11
%S Секунды ( формат от 00 до 59 ) 25
%t Табуляция \t
%T Аналогично %H:%M:%S 26:12:27
%u День недели ( Понедельник = 1, формат 1 до 7 ) 3
%w День недели ( Воскресенье = 0, формат 0 до 6 ) 3
%x Аналогично %m/%d/%y 01/25/09
%X Аналогично %I:%M:%S 02:58:12
%y Год, последние две цифры 12
%Y Год, четырехзначно 2012
%Z или %z Смещение часового пояса или наименование -005 или EST
%% Литерал % %