Форматы даты
Последнее обновление 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
$280 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
$280 per month—let's make that $500!
Learn more










