function rdate($date=0,$format='') {
// в качестве даты понимает unix timestamp и date или datetime из mysql
// формат - обычный формат date() с одним исключением
// \P (латиниская) - русское название месяца в именительном падеже
// \p (латиниская) - русское название месяца в родительном падеже
if (!$date) $date=time();
if (preg_match('!(\d{4})-(\d{2})-(\d{2})( (\d{2}):(\d{2}):(\d{2}))?!',$date,$m)) {
if (isset($m[4])) $date=mktime($m[5],$m[6],$m[7],$m[2],$m[3],$m[1]);
else $date=mktime(0,0,0,$m[2],$m[3],$m[1]);
}
if(!$format) {
$format='d.m.y H:i';
if (!isset($m[4])) $format='d.m.y';
}
$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);
}
//примеры:
echo rdate();
echo rdate(0,'d \p Y года');
echo rdate($row['date'],'\P');