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

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"