Дата с русским месяцем

10 Марта 2016
php

В спецификации функции date, по умолчанию, нет полного наименования месяца на русской языке, есть только на английском - например January или March. Для того чтобы перевести название месяца на русский язык можно с помощью функции switch, отталкиваясь от номера месяца date('m'), показать нужный нам месяца. Например:

$m=date('m');
switch($m){
	case 1: $m='января'; break;
	case 2: $m='февраля'; break;
	case 3: $m='марта'; break;
	case 4: $m='апреля'; break;
	case 5: $m='мая'; break;
	case 6: $m='июня'; break;
	case 7: $m='июля'; break;
	case 8: $m='августа'; break;
	case 9: $m='сентября'; break;
	case 10: $m='октября'; break;
	case 11: $m='ноября'; break;
	case 12: $m='декабря'; break;
}
echo $m;

Где $m порядковый номер текущего месяца, если вам нужно перевести месяц определенной даты то используйте $m=date('m',strtotime($date));, где $date дата месяца стандартного формата, например: "23.09.2012" или "1 March 1999"


Для удобства можно все упаковать в функцию russian_date которая будет возвращать текущую дату на русском языке

function russian_date(){
	$m=date('m');
	switch($m){
		case 1: $m='января'; break;
		case 2: $m='февраля'; break;
		case 3: $m='марта'; break;
		case 4: $m='апреля'; break;
		case 5: $m='мая'; break;
		case 6: $m='июня'; break;
		case 7: $m='июля'; break;
		case 8: $m='августа'; break;
		case 9: $m='сентября'; break;
		case 10: $m='октября'; break;
		case 11: $m='ноября'; break;
		case 12: $m='декабря'; break;
	}
	return date('d').' '.$m.' '.date('Y');
}

Для вывода на русском языке заданной даты:

function russian_date($date){
	$date=strtotime($date);
	$m=date('m',$date);
	switch($m){
		case 1: $m='января'; break;
		case 2: $m='февраля'; break;
		case 3: $m='марта'; break;
		case 4: $m='апреля'; break;
		case 5: $m='мая'; break;
		case 6: $m='июня'; break;
		case 7: $m='июля'; break;
		case 8: $m='августа'; break;
		case 9: $m='сентября'; break;
		case 10: $m='октября'; break;
		case 11: $m='ноября'; break;
		case 12: $m='декабря'; break;
	}
	return date('d',$date).' '.$m.' '.date('Y',$date);
}

Для запуска функции - russian_date_now($date);, где $date дата месяца стандартного формата, например: "23.09.2012" или "1 March 1999"