Дата создания статьи храниться в таблице jos_content (ячейка "created") в БД Joomla в таком виде - 2009-12-09 00:10:28, такой формат как правило не особо радует глаз посетителя. Поэтому для ее отображения в более красивом виде используеться ее обработка, а затем уже вывод на страницу.  

В Joomla доступны следующие форматы даты:

  • DATE_FORMAT_LC - выведет: "Понедельник, 15 Февраль 2010"
  • DATE_FORMAT_LC1 - выведет: "Понедельник, 15 Февраль 2010"
  • DATE_FORMAT_LC2 - выведет: "15.02.10 02:18"
  • DATE_FORMAT_LC3 - выведет: "15 Февраль 2010"
  • DATE_FORMAT_LC4 - выведет: "15.02.10"
 



Для вывода даты в любом из вышеперечисленных форматов, необходимо дату из БД передать на обработку следующим образом:

Класс отвечающий за обработку даты подключаеться следующим образом:

require_once (JPATH_SITE.DS.'libraries'.DS.'joomla'.DS.'html'.DS.'html.php');

 

$lists[$i]->date = JHTML::_('date', $row->created, JText::_('DATE_FORMAT_LC'));

 


Но это так на всякий случай ;) тк в модулях JHTML доступен.

В файле имя сайта\language\ru-RU\ru-RU.ini, вы можете увидить какие форматы даты доступны в Joomla:

DATE_FORMAT_LC=%d.%m.%Y – 23.02.2011

DATE_FORMAT_LC1=%d.%m.%Y– 23.02.2011

DATE_FORMAT_LC2=%d.%m.%Y %H:%M – 23.02.2011 13:20

DATE_FORMAT_LC3=%d %B %Y – 23 Февраля 2011

DATE_FORMAT_LC4=%d.%m.%y – 23.02.11

По умолчанию в материалы выводятся в формате LC2.

Или форат даты времени задается аналогично стандартной функции PHP DATE()

Шаблон результирующей строки (string) с датой.  '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 (добавлен в версии PHP 5.1.0) от 1 (понедельник) до 7 (воскресенье)
S Английский суффикс порядкового числительного дня месяца, 2 символа st, nd, rd или th. Применяется совместно с j
w Порядковый номер дня недели от 0 (воскресенье) до 6 (суббота)
z Порядковый номер дня в году (начиная с 0) От 0 до 365
Неделя --- ---
W Порядковый номер недели года в соответствии со стандартом ISO-8601; недели начинаются с понедельника (добавлено в версии PHP 4.1.0) Например: 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) принадлежит предыдущему или следующему году; тогда будет использован год этой недели. (добавлен в версии PHP 5.1.0) Примеры: 1999 или 2003
Y Порядковый номер года, 4 цифры Примеры: 1999, 2003
y Номер года, 2 цифры Примеры: 99, 03
Время --- ---
a Ante meridiem (англ. "до полудня") или Post meridiem (англ. "после полудня") в нижнем регистре am или pm
A Ante 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 Микросекунды (добавлено в версии PHP 5.2.2). Учтите, что date() всегда будет возвращать 000000, т.к. она принимает целочисленный (integer) параметр, тогда как DateTime::format() поддерживает микросекунды. Например: 654321
Временная зона --- ---
e Код шкалы временной зоны(добавлен в версии PHP 5.1.0) Примеры: UTC, GMT, Atlantic/Azores
I (заглавная i) Признак летнего времени 1, если дата соответствует летнему времени, 0 в противном случае.
O Разница с временем по Гринвичу, в часах Например: +0200
P Разница с временем по Гринвичу с двоеточием между часами и минутами (добавлено в версии PHP 5.1.3) Например: +02:00
T Аббревиатура временной зоны Примеры: EST, MDT ...
Z Смещение временной зоны в секундах. Для временных зон, расположенных западнее UTC возвращаются отрицательные числа, а расположенных восточнее UTC - положительные. от -43200 до 50400
Полная дата/время --- ---
c Дата в формате стандарта ISO 8601 (добавлено в PHP 5) 2004-02-12T15:19:21+00:00
r Дата в формате " href="http://www.faqs.org/rfcs/rfc2822">» RFC 2822 Например: Thu, 21 Dec 2000 16:01:07 +0200
U Количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT)




 

Корректные окончания названия месяца в датах сайта на Joomla

Названия месяцев описаны в файле локализации \language\ru-RU\ru-RU.ini
Здесь можно поправить окончания у названий месяцев ЯнварьЯнваря и т.п. Но Вы потеряете эти изменения при ближайшем обновлении локализации Joomla. Если шаблон русифицирован правильно, то лучше воспользоваться механизмом подмены – overrides:

  1. Скопировать файл \language\ru-RU\ru-RU.ini в папку \language\overrides и проверьте/исправьте права на этот файл.
  2. Открыть файл \language\overrides\ru-RU.ini редактором и оставить здесь только блок текста с названиями месяцев, которые Вы будете изменять на собственный вариант.