Форматирование дат и времени в Cotonti

В Cotonti даты и время по умолчанию отображаются в удобном для большинства случаев виде. Однако очень часто требуется изменить представление даты/времени под конкретный дизайн, локальные традиции или требования проекта.

Форматирование дат и времени в Cotonti

В Cotonti даты и время по умолчанию отображаются в удобном для большинства случаев виде. Однако очень часто требуется изменить представление даты/времени под конкретный дизайн, локальные традиции или требования проекта.

Существует два основных подхода:

  1. Локальное форматирование — прямо в нужном месте шаблона (самый распространённый и гибкий способ)
  2. Глобальное изменение формата — через языковые файлы (рекомендуется только при необходимости унифицировать формат по всему сайту)

1. Локальное форматирование в шаблонах (рекомендуемый способ)

Внутри системы практически все метки даты хранятся в виде Unix Timestamp (целое число — количество секунд с 1 января 1970 года). Для вывода такого значения в читаемом виде используется специальная функция-обёртка:

text
 
cot_date( $format, $timestamp, $usertimezone = true )
 
 
  • $format — строка формата (либо произвольная как в date(), либо ключевое слово из предопределённого набора $Ldt)
  • $timestamp — метка времени (обычно передаётся через $this)
  • $usertimezone — учитывать ли личную временную зону пользователя (по умолчанию true)

Примеры использования в шаблонах

smarty
 
{PAGE_ROW_DATE_STAMP|cot_date('d.m.Y', $this)} → 28.02.2026 {PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)} → 28.02.2026 {PAGE_ROW_DATE_STAMP|cot_date('date_text', $this)} → 28 февраля 2026 {PAGE_ROW_DATE_STAMP|cot_date('datetime_medium', $this)} → 28.02.2026 14:35 {PAGE_ROW_DATE_STAMP|cot_date('l, j F Y H:i', $this)} → Суббота, 28 февраля 2026 14:35 {PAGE_ROW_DATE_STAMP|cot_date('c', $this)} → 2026-02-28T14:35:22+03:00 {PAGE_ROW_DATE_STAMP|cot_date('r', $this)} → Sat, 28 Feb 2026 14:35:22 +0300
 
 

Очень популярный современный формат (ISO-подобный, часто используется в атрибутах datetime)

smarty
 
<time datetime="{PAGE_ROW_DATE_STAMP|cot_date('c', $this)}"> {PAGE_ROW_DATE_STAMP|cot_date('d.m.Y', $this)} </time>
 
 

2. Предопределённые форматы (рекомендуется для многоязычных сайтов)

Cotonti предоставляет набор локализованных форматов, которые хранятся в массиве $Ldt в языковых файлах (main.xx.lang.php). Это позволяет автоматически подстраивать отображение под язык пользователя.

Актуальный список предопределённых форматов (на примере русского языка, 2025–2026 гг.)

КлючФормат PHPПример вывода (русский)Когда удобно использовать
date_fulld.m.Y28.02.2026Основная дата в списках, карточках
date_mediumm.Y02.2026Месяц и год (архивы, отчёты)
date_shortd.m28.02Краткая дата без года
date_textj F Y28 февраля 2026Текстовый стиль, статьи, новости
date_fulltextl, j F YСуббота, 28 февраля 2026Полный красивый формат с днём недели
time_fullH:i:s14:35:22Полное время с секундами
time_mediumG:i14:35Обычное время
time_shorti:s35:22Только минуты и секунды
time_textg:i A2:35 PMАмериканский стиль с AM/PM
datetime_fulld.m.Y H:i:s28.02.2026 14:35:22Полная метка (логи, админка)
datetime_mediumd.m.Y H:i28.02.2026 14:35Самый популярный вариант «дата + время»
datetime_shortd.m H:i28.02 14:35Компактный вариант
datetime_textj F Y H:i28 февраля 2026 14:35Текстовый стиль с временем
datetime_fulltextl, j F Y H:iСуббота, 28 февраля 2026 14:35Максимально читаемый вариант
week_fullo-\WW2026-W08Номер недели ISO с годом
week_medium\WWW08Только номер недели
week_short\WW-NW08-6Неделя + день недели (1=Пн … 7=Вс)
 
 

Рекомендация 2025–2026: В большинстве современных тем и плагинов используют datetime_medium или date_full + time_medium отдельно.

3. Полезные дополнительные возможности

timeago / «N минут назад»

Многие темы используют функцию cot_build_timeago():

smarty
 
{PAGE_ROW_DATE_STAMP|cot_build_timeago()} → 3 часа назад
 
 

Произвольный формат (как в PHP date())

Можно использовать любые символы из официальной таблицы форматирования PHP date():

smarty
 
{PAGE_ROW_DATE_STAMP|cot_date('l jS \of F Y \, h:i:s A', $this)} → Суббота 28th of February 2026, 02:35:22 PM
 
 

Полный список символов смотрите в официальной документации PHP.

4. Глобальное изменение формата (не рекомендуется в 2025+)

Если всё же нужно поменять формат по всему сайту — отредактируйте массив $Ldt в файле:

text
 
lang/ru/main.ru.lang.php
 
 

Пример:

PHP
 
$Ldt['datetime_medium'] = 'd.m.Y H:i';
$Ldt['date_text']       = 'j F Y г.';
 
 

Но помните: обновление Cotonti может перезаписать файл. Лучше создавать свой языковой оверрайд.

Краткие рекомендации на 2026 год

  • Используйте cot_date('datetime_medium', $this) — самый универсальный и читаемый вариант
  • Для семантической разметки всегда добавляйте атрибут datetime с форматом c
  • Для «живого» времени применяйте cot_build_timeago()
  • В многоязычных проектах максимально полагайтесь на ключи $Ldt
  • Не забывайте про параметр $usertimezone = true — это важно для пользователей из разных часовых поясов
3 minutes read Sodium Carbonate

Comments (0)

No comments yet
Only registered users can post new comments

Content author

webitproff

Offline

Sodium Carbonate

Last logged: 2026-07-20 14:34

  • Page published: 2026-03-01 01:31
  • Last update: 2026-03-01 01:31

Similar pages

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