Как получить не просто названия, а
в разных для отображения даты падежах. Например, "ноября" а не "ноябрь"?
Для
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 для разных локалей тот еще квест.
Есть ли какая функция для получения названий месяцев в разных падежах?