Шаг 33 - Дата "прописью"

На вопросе, обсуждаемом в этом шаге, я не собирался останавливаться, т.к. про дату итак было уже достаточно сказано в "Шаг 13 - Формат даты" и "Шаг 14 - Операции с датой". Однако, в документах бухгалтерии часто требуется выводить дату "прописью", т.е., например, "11" августа 2002 г.

Эту простенькую задачку я решал несколько раз на разных языках программирования. В VFP предлагаю сделать вот так:

function GetDateText(dToday)
private cMonthText, nMonth
	nMonth = month(dToday)
	do case
		case nMonth = 1
			cMonthText = 'января'
		case nMonth = 2
			cMonthText = 'февраля'
		case nMonth = 3
			cMonthText = 'марта'
		case nMonth = 4
			cMonthText = 'апреля'
		case nMonth = 5
			cMonthText = 'мая'
		case nMonth = 6
			cMonthText = 'июня'
		case nMonth = 7
			cMonthText = 'июля'
		case nMonth = 8
			cMonthText = 'августа'
		case nMonth = 9
			cMonthText = 'сентября'
		case nMonth = 10
			cMonthText = 'октября'
		case nMonth = 11
			cMonthText = 'ноября'
		case nMonth = 12
			cMonthText = 'декабря'
	endcase
	return '" ' + alltrim(str(day(dToday))) + ' "' +;
		cMonthText + ' ' + alltrim(str(year(dToday))) + 'a.'
endfunc

Смотрим, что получилось:

33_1.gif (5366 b)

Вот и все.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Клементьев В.А - 09.08.2002