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