![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Формат даты
Puke Zero © (2003-02-08 14:51:00)
Нужна дата в формате "8 февраля 2003 г." - так, как её показывает Windows над часами. Просто строковая обработка не подходит для интернационального приложения и пока имеется лишь "8 Февраль 2003 г." Некузяво :)
Puke Zero (2003-02-08 16:22:00) [1]
Вроде нашёл, на msdn. Попробую теперь с GetDateFormat разобраться.
LOCALE_SMONTHNAME1
Native long name for January. Calling the GetLocaleInfo function with a LOCALE_SMONTHNAMExx flag returns the stand-alone, or nominative, form of the month name. To get the genitive form of the month name, call GetDateFormat with a date picture of ddMMMM and remove the two digits from the beginning of the returned string.
Puke Zero (2003-02-08 16:04:00) [2]
Дык, я не против :) Но как этот самый массив поиметь?
SPeller (2003-02-08 16:01:00) [3]
> откуда Windows знает падежи месяцев.
Там такой же массив для каждого языка. Не даром же ХР не меньше гигабайта весит.
Puke Zero (2003-02-08 15:43:00) [4]
А не для KOL?
DateTimeToString(s,"d MMMM yyyy",Now)
возвращает "8 Февраль 2003"
а Windows (XP Rus) - "8 февраля 2003 г."
при установленном в системе формате "d MMMM yyyy "г.""
Под строковой обработкой я и понимал этот самый массив, где прописаны формы слов. Но я не могу так делать для всех языков, поэтому и хочется понять, откуда Windows знает падежи месяцев.
Kladov (2003-02-08 15:20:00) [5]
Date2StrFmt( "d MMMM yyyy", Now )
- у меня "8 февраля 2003", Win2K Eng, включен русский регион.
А что такое строковая обработка? Если у вас свой массив констант, тем более всегда можно написать "февраля".