function date_smart ($date_input, $time=false) {
$monthes = array (
'' , 'января' , 'февраля' , 'марта' , 'апреля' , 'мая' , 'июня' ,
'июля' , 'августа' , 'сентября' , 'октября' , 'ноября' , 'декабря'
);
$date = strtotime($date_input);
if ($time) $time = ' G:i' ;
else $time = '' ;
if (date('Y' ) == date('Y' ,$date)) {
if (date('z' ) == date('z' , $date)) {
$result_date = date('Сегодня' .$time, $date);
} elseif (date('z' ) == date('z' ,mktime(0 ,0 ,0 ,date('n' ,$date),date('j' ,$date)+1 ,date('Y' ,$date)))) {
$result_date = date('Вчера' .$time, $date);
} elseif (date('z' ) == date('z' ,mktime(0 ,0 ,0 ,date('n' ,$date),date('j' ,$date)-1 ,date('Y' ,$date)))) {
$result_date = date('Завтра' .$time, $date);
}
if (isset ($result_date)) return $result_date;
}
$month = $monthes[date('n' ,$date)];
if (date('Y' ) != date('Y' , $date)) $year = 'Y г.' ;
else $year = '' ;
$result_date = date('j ' .$month.' ' .$year.$time, $date);
return $result_date;
}
echo date_smart('2008-09-14 23:34:59' );