![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Формат даты вида "30 марта 2010 года" [D6, XP]
Dr. Genius © (2010-03-30 20:21:00)Здравствуйте!
Имеется ли в Delphi какой-либо стандартный способ представить дату в формате САБЖа?
FormatDateTime('d mmmm yyyy')дает не совсем то, что нужно.
Dr. Genius (2010-03-30 21:32:00) [1]
> Омлет
> Leonid Troyanovsky
Огромное спасибо! То, что нужно.
Leonid Troyanovsky (2010-03-30 21:23:00) [2]
> Dr. Genius (30.03.10 20:21)
function DateFormatStr(ADate: TDate; AFormat: String): String;
var
st: TSystemTime;
buffer: array [0..$FFF] of Char;
begin
DateTimeToSystemTime(ADate, st);
Win32Check(GetDateFormat( LOCALE_USER_DEFAULT,
0,
@st,
Pointer(AFormat),
buffer,
SizeOf(buffer)) > 0);
Result := buffer;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := DateFormatStr(Date, LongDateFormat);
end;
--
Regards, LVT.
Омлет (2010-03-30 21:01:00) [3]Вполне стандартный способ:
function GetDateStr(Date: TDateTime): string;
const
MONTHS: array[1..12] of string =
('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа',
'сентября', 'октября', 'ноября', 'декабря');
var
Y, M, D: Word;
begin
DecodeDate(Date, Y, M, D);
Result := Format('%d %s %d года', [D, MONTHS[M], Y]);
end;