Русские даты
Материал из Umicms
Версия от 13:39, 3 марта 2010; Photoelf (обсуждение | вклад)
Как выводить названия месяцов по-русски?
Попробуйте добавить следующий код в ~/classes/modules/custom.php сразу после строки //TODO: Write your own macroses here
public function dateru($time) {
$day = date('d', $time);
$month = date('n', $time);
$year = date('Y', $time);
// Проверка существования месяца
if (!checkdate($month, 1, $year)){
throw new publicException("Проверьте порядок ввода даты.");
}
$months_ru = array(1 => 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');
$date_ru = $day . ' ' . $months_ru[$month] . ' ' . $year . ' года.';
return $date_ru;
}
Регистрировать его нигде не нужно.
Пример использования:
%custom dateru('%curr_time%')%
Еще интересная работа с датой, очень полезна при работе с опубликованными статьями, а именно: после размещения статьи и выводе даты на станицу происходит замена - если статья размешена сегодня то при выводе будет написано СЕГОДНЯ, через день выведется ВЧЕРА, а еще через день ПОЗАВЧЕРА, еще через день просто будет указана дата.
public function dateconvert($timestamp) {
if ( !is_numeric( $timestamp ) ){return "";}
$currentdate = date( "d.m.Y", $timestamp );
if ($currentdate ==date("d.m.Y")){ $currentdate= "Сегодня";}
if ($currentdate ==date("d.m.Y")-1){ $currentdate= "Вчера";}
if ($currentdate ==date("d.m.Y")-2){ $currentdate= "Позавчера";}
return $currentdate;
}
Пример использования:
%custom dateconvert(%publish_time%)%