Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Вывод даты в настраиваемом формате

00 голосов
5
Хочу выводить не "1 Октябрь 2009", а "1 октября 2009". Можно ли сделать средствами Битрикса или ручками переменную парсить?
спросил 24 Июль, 13 от aceberg (160 баллов)

5 Ответы

00 голосов
Добавь в \bitrix\php_interface\init.php функцию вроде:
Код
function
convertDate($date)
{
   $components = explode (" ", $date, 2);
   $monthes    = array
   (
      'января', 
      'февраля', 
      'марта', 
      'апреля', 
      'мая', 
      'июня', 
      'июля', 
      'августа', 
      'сентября', 
      'октября', 
      'ноября', 
      'декабря'
   );
   $date = explode ('.', $components[0], 3);
   
   return (trim($date[0], '0')." ".$monthes[((int)($date[1])-1)]." ".$date[2]);
}


Использовать примерно так:
Код
convertDate($arPost['DATE_PUBLISH'])
ответил 24 Июль, 13 от GameOver (160 баллов)
00 голосов
Нет у меня init.php ) В общем, ручками. За код спасибо, впишу его в темплейт.
ответил 19 Сен, 13 от aceberg (160 баллов)
00 голосов
Цитата
Виталий Евсюков пишет:
Нет у меня init.php
создайте
ответил 17 Дек, 13 от FireLuna (580 баллов)
00 голосов
Еще есть полезная функция - MakeTimeStamp() - переводит дату из формата битрикса в нормальный человеческий UNIX_TIMESTAMP. Честно говоря, представление дат в битриксе и хранение их именно в формате DATETIME дико напрягает - всё равно везде приходится конвертировать даты туда-сюда. Во всех нормальных системах даты и время хранится именно в виде UNIX_TIMESTAMP,
ответил 02 Апр, 14 от bazzet (620 баллов)
00 голосов
Всё бы хорошо но например дату 20.09.2010 мне привело к виду 2 сентября 2010

изменил пред последнюю строку на
Код
 return ($date[0]." ".$monthes[((int)($date[1])-1)]." ".$date[2]); 


теперь вроде отображает правильно
ответил 25 Июль, 14 от Fatalshin (260 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
2 ответов
0 голосов
2 ответов
спросил 09 Авг, 13 от Langerd (140 баллов)
0 голосов
1 ответ
0 голосов
5 ответов
спросил 07 Авг, 13 от Hizer (160 баллов)