Вывод дат в шаблонах Cotonti

Rating based on reviews:
Total stars received: 0
Total reviews: 0
Average rating: 0
Filed under: User Blog

1. Вывод дат в шаблонах

По умолчанию формат отображения дат и времени внутри Cotonti уже настроен. В большинстве случаев этого будет достаточно. Тем не менее, у вас есть возможность изменить формат вывода. Сделать это можно двумя способами:

  1. настроить формат вывода конкретного элемента в шаблоне;
  2. настроить (изменить) формат отображения глобально для всей системы.

Рассмотрим сначала первый вариант — вам необходимо изменить формат вывода даты в определенном [месте] шаблоне. Как правило все метки даты-времени внутри системы храняться в формате UNIX-времени (по сути счетчик количества секунд прошедших с  1 января 1970 года). Это удобный для внутреннего хранения и сравнения формат, который позволяет быстро и удобно вывести дату в нужном, человеко-читаемом формате. Для конвертирования такоей метки даты-времени в читаемый формат в PHP существует функция date(), однако она не учитывает язык конечного пользователя. Для решения этой проблемы в Cotonti есть функция «обертка» cot_date(). Перейдем теперь к примеру. Предположим мы имеем какой-либо тег содержащий метку времени, например — PAGE_ROW_DATE_STAMP. Используем cot_date() как обратный вызов (из шаблона):

{PAGE_ROW_DATE_STAMP|cot_date('d-m-Y', $this)}

Передаем значение PAGE_ROW_DATE_STAMP в функцию и предполагаем вывод в формате `d-m-Y` (для понимания сокращений в формате смотри описание функции date()).

Замечание: Функция принимает 3 параметра: первый (обязательный параметр) задает строку формата, второй — метку времени, третий — использовать ли временную зону пользователя.

Кроме возможности указать формат в ручную, в системе есть ряд предопределенных заранее форматов. Эти форматы определены на уровне системных языковых файлов (main.*.lang.php) и поэтому могут учитывать некоторые национальные особенности отображания дат для того или иного языка. Хранятся эти определения в массиве $Ldt. При проектировании своих расширений рекомендуется использовать именно эти готовые форматы.  Например:

{PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)}

Ниже приведен список всех предопределенных форматов (примеры даны для руcского RU языкового файла):

NameFormatExample
date_fulld.m.Y13.02.2009
date_mediumm.Y02.2009
date_shortd.m13.02
date_textd F Y13 февраля 2009
date_fulltextl, d F YПятница, 13 февраля 2009
time_fullH:i:s23:31:30
time_mediumG:i23:31
time_shorti:s31:30
time_textg:i A11:31 PM
time_fulltextg:i:s A11:31:30 PM
datetime_fulld.m.Y H:i:s13.02.2009 23:31:30
datetime_mediumd.m.Y H:i13.02.2009 23:31
datetime_shortd.m H:i13.02 23:31
datetime_textd F Y H:i13 февраля 2009 23:31
datetime_fulltextl, d F Y H:iПятница, 13 февраля 2009 23:31
week_fullo-\WW2009-W07 *
week_medium\WWW07
week_short\WW-NW07-5
week_text\WW, lW07, Пятница
week_fulltexto-\WW, l2009-W07, Пятница

* если номер недели (ISO) относится к предыдущему или следующему году — будет отображен соотв. год. дополнительно / еще примеры

{PHP.pag.page_date|cot_date('l jS F Y h:i:s A', $this)}
{PHP.pag.pcot_updated|cot_date('datetime_full', $this)}
{PHP.item.item_updated|cot_build_timeago()}
{PAGE_DATE_STAMP|cot_date('c', $this)}
{PAGE_DATE_STAMP|cot_date('l jS F Y h:i:s A', $this)}
{PAGE_DATE_STAMP|cot_date('xxx', $this)}

"XXX" берем отсюда

 

Возвращает строку даты, преобразованной согласно переданному формату.

 

 

Список параметров

object

Только для процедурного стиля: объект DateTime, возвращаемый date_create().

format

Шаблон результирующей строки (string) с датой. Смотрите параметры форматирования ниже. Также существует несколько предопределённых констант даты/времени, которые могут быть использованы вместо этих параметров. Например: DATE_RSS заменяет шаблон 'D, d M Y H:i:s'.

В параметре format распознаются следующие символы
Символ в строке formatОписаниеПример возвращаемого значения
День------
dДень месяца, 2 цифры с ведущим нулёмот 01 до 31
DТекстовое представление дня недели, 3 символаот Mon до Sun
jДень месяца без ведущего нуляот 1 до 31
l (строчная 'L')Полное наименование дня неделиот Sunday до Saturday
NПорядковый номер дня недели в соответствии со стандартом ISO 8601от 1 (понедельник) до 7 (воскресенье)
SАнглийский суффикс порядкового числительного дня месяца, 2 символаst, nd, rd или th. Применяется совместно с j
wПорядковый номер дня неделиот 0 (воскресенье) до 6 (суббота)
zПорядковый номер дня в году (начиная с 0)От 0 до 365
Неделя------
WПорядковый номер недели года в соответствии со стандартом ISO 8601; недели начинаются с понедельникаНапример: 42 (42-я неделя года)
Месяц------
FПолное наименование месяца, например, January или Marchот January до December
mПорядковый номер месяца с ведущим нулёмот 01 до 12
MСокращённое наименование месяца, 3 символаот Jan до Dec
nПорядковый номер месяца без ведущего нуляот 1 до 12
tКоличество дней в указанном месяцеот 28 до 31
Год------
LПризнак високосного года1, если год високосный, иначе 0.
oНомер года в соответствии со стандартом ISO 8601. Имеет то же значение, что и Y, кроме случая, когда номер недели ISO (W) принадлежит предыдущему или следующему году; тогда будет использован год этой недели.Примеры: 1999 или 2003
XРасширенное полное числовое представление года, не менее 4 цифр, с - для годов до нашей эры и + для годов нашей эры.Примеры: -0055, +0787, +1999, +10191
xРасширенное полное числовое представление, если требуется или стандартное полное числовое представление, если возможно (например, Y). Не менее четырёх цифр. Для годов до нашей эры указан префикс -. У годов после (и включая) 10000 префикс +.Примеры: -0055, 0787, 1999, +10191
YПолное числовое представление года, не менее 4 цифр, с - для годов до нашей эры.Примеры: -0055, 0787, 1999, 2003, 10191.
yНомер года, 2 цифрыПримеры: 99, 03
Время------
aAnte meridiem (лат. "до полудня") или Post meridiem (лат. "после полудня") в нижнем регистреam или pm
AAnte meridiem или Post meridiem в верхнем регистреAM или PM
BВремя в формате Интернет-времени (альтернативной системы отсчёта времени суток)от 000 до 999
gЧасы в 12-часовом формате без ведущего нуляот 1 до 12
GЧасы в 24-часовом формате без ведущего нуляот 0 до 23
hЧасы в 12-часовом формате с ведущим нулёмот 01 до 12
HЧасы в 24-часовом формате с ведущим нулёмот 00 до 23
iМинуты с ведущим нулёмот 00 до 59
sСекунды с ведущим нулёмот 00 до 59
uМикросекунды. Учтите, что date() всегда будет возвращать 000000, т.к. она принимает целочисленный (int) параметр, тогда как DateTime::format() поддерживает микросекунды, если DateTime создан с ними.Например: 654321
vМиллисекунды. Замечание такое же как и для u.Пример: 654
Часовой пояс------
eИдентификатор часового поясаПримеры: UTC, GMT, Atlantic/Azores
I (заглавная i)Признак летнего времени1, если дата соответствует летнему времени, 0 в противном случае.
OРазница с временем по Гринвичу без двоеточия между часами и минутамиНапример: +0200
PРазница с временем по Гринвичу с двоеточием между часами и минутамиНапример: +02:00
pТо же, что и P, но возвращает Z вместо +00:00 (доступен, начиная с PHP 8.0.0)Например: Z или +02:00
TАббревиатура часового пояса, если известна; в противном случае смещение по Гринвичу.Примеры: EST, MDT, +05
ZСмещение часового пояса в секундах. Для часовых поясов, расположенных западнее UTC, возвращаются отрицательные числа, а для расположенных восточнее UTC - положительные.от -43200 до 50400
Полная дата/время------
cДата в формате стандарта ISO 86012004-02-12T15:19:21+00:00
rДата в формате » RFC 222/» RFC 5322Например: Thu, 21 Dec 2000 16:01:07 +0200
UКоличество секунд, прошедших с начала Эпохи Unix (1 января 1970 00:00:00 GMT)Смотрите также time()

Любые другие символы, встреченные в строке-шаблоне, будут выведены в результирующую строку без изменений. Z всегда возвращает 0 при использовании gmdate().

Замечание:

Поскольку рассматриваемая функция принимает в качестве параметра временные метки типа int, форматирующий символ u будет полезен только при использовании функции date_format() и пользовательских меток времени, созданных с помощью функции date_create().

 

 

Возвращаемые значения

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

 

Помощь, поддержка, консультации, доработки сборки биржи услуг на Cotonti заказать можно по контактам:
Email: [email protected]
Skype: webitproff
Telegram: webitproff


Reviews

No reviews yet


Comments (0)

No comments yet
Only registered users can post new comments

Similar pages

PrjMap Вывод проектов на общей карте в виде меток
1 PrjMap Вывод проектов на общей карте в виде меток - плагин для сборки сайта фриланс биржи на Cotonti Используя Google
User Blog • 2020-07-17 05:15 webitproff
Вывод дат в шаблонах Cotonti (Форматы и примеры в тегах)
2 Вывод дат в шаблонах CotontiНастройка формата отображения: локально и глобальноВ системе Cotonti все даты внутри базы
Примеры использования тегов для вывода дат разных форматов в шаблонах
3 Примеры использования стандартных форматов в шаблонахНиже приведены примеры шаблонных тегов для каждого
Подготовка дат в Excel и Google Таблицах для импорта в Cotonti
4 Подготовка дат в Excel и Google Таблицах для импорта в CotontiЦель документаДанный материал предназначен для
Даты в CMF Cotonti. Запись, хранение и вывод (представление)
5 Ниже приведён системный обзор механики работы с датами в CMF Cotonti на основе структуры таблицы cot_pages и набора

Content author

webitproff

Offline

Sodium Carbonate

Last logged: 2026-09-01 22:41

About me briefly
Support and development of web projects on the CMF Cotonti: private messengers via the website, open and closed small social networks, trading platforms and marketplaces, freelance and services exchange portal, catalogs of goods from wholesale suppliers, dropshipping platforms, online stores, and much more.
View developments and download
Public portfolio of my works and developments
Telegram for messages
@webitproff
Telegram channel
@s/aBuyFILE
  • Page published: 2020-07-17 05:15
  • Last update: 2026-02-27 10:13