Получить названия месяцев для локали
От: TheBeginner  
Дата: 11.11.23 14:57
Оценка:
Как получить не просто названия, а в разных для отображения даты падежах. Например, "ноября" а не "ноябрь"?

Для GetLocaleInfoEx есть только параметры LOCALE_SMONTHNAME11, LOCALE_SABBREVMONTHNAME11, для которых получаем соответственно "Ноябрь" и "ноя".
Вызов GetDateFormatEx вида:
GetDateFormatEx(L"ru-RU", NULL, NULL, L"MMMM", szBuf, 128, NULL);
с заданным форматом "MMMM" ожидаемо возвращает "Ноябрь", как и сказано в MSDN:

MMMM — Format month as its full name. The function uses the LOCALE_SMONTHNAME value associated with the specified locale.


С флагом DATE_YEARMONTH получаем "Ноябрь 2023"
С Флагом DATE_LONGDATE — "11 ноября 2023г."

Естественно это нужно не только для одной локали. Вычленять названия месяцев из DATE_LONGDATE для разных локалей тот еще квест.
Есть ли какая функция для получения названий месяцев в разных падежах?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.