Russian Qt Forum
Апрель 25, 2024, 17:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Преобразовать строку в дату  (Прочитано 2448 раз)
VPS
Гость
« : Апрель 21, 2014, 16:24 »

Здравствуйте!
Есть строка, в которой дата пишется в виде "Имя_месяца Год", например: "Апрель 2014".
Пытаюсь её преобразовать в тип QDate при помощи метода:
Код:
QDate::fromString("Апрель 2014", "MMMM yyyy");
Если в Windows региональные настройки формата русские, то это проходит. Но если их изменить, например на English, то получаю не валидный QDate (и это правильно, т.к. метод ожидает английское название месяца).
Поэтому решил воспользоваться классом QLocale:
Код:
QLocale ruLocale("ru_RU");
QDate date { ruLocale.toDate("Апрель 2014", "MMMM yyyy") };
Но данный вариант не проходит, т.к. в названии месяца уже ожидается не "Апрель", а "Апреля".

Как справиться с данной проблемой?

П.С.: пока решение вижу в создании, например словаря (map), где ключом будет правильное название месяца, а значением - его номер. После этого разбирать строку на месяц и год. И создавать объект QDate в формате: "M yyyy". Может можно как-то легче это сделать?
« Последнее редактирование: Апрель 21, 2014, 20:15 от vps » Записан
Hrundel
Гость
« Ответ #1 : Апрель 21, 2014, 17:16 »

Написать собственный универсальный парсер-свич.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.142 секунд. Запросов: 20.