function rus_unix($date, $decode = false) {
if(preg_match('/\b([0-9\ ])(.*)([\ 0-9])\b/i', $date) and $decode == false)
{
$translation = array(
"Января" => "January",
"января" => "january",
"Февраля" => "February",
"февраля" => "february",
"Марта" => "March",
"марта" => "march",
"Апреля" => "April",
"апреля" => "april",
"Мая" => "May",
"мая" => "may",
"Июня" => "June",
"июня" => "june",
"Июля" => "July",
"июля" => "july",
"августа" => "August",
"Августа" => "august",
"Сентября" => "September",
"сентября" => "september",
"Октября" => "October",
"октября" => "october",
"Ноября" => "November",
"ноября" => "november",
"Декабря" => "December",
"декабря" => "december"
);
$date1 = explode(" ",$date);
$date2 = $date1[1];
$date3 = $translation[$date2];
$date4 = $date1[0].' '.$date3.' '.$date1[2];
return strtotime($date4);
}
elseif(isset($date) and $decode == true) {
$translation = array(
"January" => "Января",
"February" => "Февраля",
"March" => "Марта",
"April" => "Апреля",
"May" => "Мая",
"June" => "Июня",
"July" => "Июля",
"August" => "Августа",
"September" => "Сентября",
"October" => "Октября",
"November" => "Ноября",
"December" => "Декабря",
);
$date1 = date("j F Y", $date);
$date2 = explode(" ",$date1);
$date3 = $date2[1];
$date4 = $translation[$date3];
$date5 = $date2[0].' '.$date4.' '.$date2[2];
return $date5;
}
else
{
return $date;
}
}
//Вызывать так
echo rus_unix('2 августа 2009');
//Декодировать из unix time в русскую дату
echo rus_unix('1249135200', true);