Русские даты — различия между версиями
Материал из Umicms
Waclaw (обсуждение | вклад) (Новая страница: «Как выводить названия месяцов по-русски? Попробуйте добавить следующий код в ~/classes/modules/cust…») |
Photoelf (обсуждение | вклад) |
||
Строка 27: | Строка 27: | ||
%custom dateru('%curr_time%')% | %custom dateru('%curr_time%')% | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
---- | ---- |
Версия 13:39, 3 марта 2010
Как выводить названия месяцов по-русски?
Попробуйте добавить следующий код в ~/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%)%