Форматы даты
Последнее обновление May 17th, 2019 | История страницы | Улучшить эту страницу | Сообщить о проблеме
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
Budget
$306 per month—let's make that $500!
Learn moreMODX написан на 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
Budget
$306 per month—let's make that $500!
Learn more