Задать вопрос
@lid2pro

Как сделать такой формат даты и времени?

Здравствуйте, подскажите, пожалуйста, как доделать

$monthes = array(
    1 => ' января ', 2 => ' февраля', 3 => ' марта', 4 => ' апреля',
    5 => ' мая', 6 => ' июня', 7 => ' июля', 8 => ' августа',
    9 => ' сентября', 10 => ' октября', 11 => ' ноября', 12 => ' декабря'
);
	$date = $row['date'];
	$adate = date("j", strtotime($date)) . $monthes[date("n", strtotime($date))] . date("Y", strtotime($date)) . date("H:i", strtotime($date));


Выводится примерно такое:
11 января 201515:52


А мне надо так:
11 января 2015г., 15:52


Как правильно поставить отступы (а то ставлю пробел вручную в массиве месяца) и букву "г"?

Заранее благодарности
  • Вопрос задан
  • 2664 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
А этот код тебе кто делал?

Во - нашел. Лет 10 назад писал :)

echo rdate().'<br>';
echo rdate(0,'d \p Y года').'<br>';
$date = '2015-01-11 15:52:00';
echo rdate($date,'d \p Yг., H:i');


// \P (латиниская) - русское название месяца в именительном падеже
// \p (латиниская) - русское название месяца в родительном падеже
function rdate($date = 0, $format = '')
{
  if (!$date) $date = time();
  
  if (!ctype_digit((string)$date))
  {
  	$date = strtotime($date);
  }
  
  if (!$format) $format='d.m.y H:i';

  $rmon = array('январь','февраль','март','апрель',
                'май','июнь','июль','август','сентябрь',
                'октябрь','ноябрь','декабрь');
  $format = str_replace('\P',$rmon[date('n',$date)-1],$format);

  $rmon = array('января','февраля','марта','апреля',
                'мая','июня','июля','августа','сентября',
                'октября','ноября','декабря');
  $format=str_replace('\p',$rmon[date('n',$date)-1],$format);

  return date($format, $date);
}
Ответ написан
shaks
@shaks
$ php -a
Interactive mode enabled

php > setlocale(LC_TIME, 'ru_RU.UTF-8');
php > echo(strftime("%d %B %Yg., %H:%M", time()))."\n";
01 Март 2015g., 14:09
php >

неплохой вариант, только месяц не склоняется.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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