Как преобразовать QString в QDate в определенном формате?

у меня есть QDateEdit в моем графическом интерфейсе, из которого я конвертирую QDate в QString и добавить его в мою базу данных. QString Дата сохраняется в базе данных в следующем формате: 20.12.2015.

В случае, если пользователь хочет изменить дату, мне нужно показать дату на QDateEdit поле на GUI снова. Следовательно, мне нужно получить базу данных, вернуть дату (которая находится в QString формат) и преобразовать его в QDate назад, чтобы поставить его на QDateEdit поле в графическом интерфейсе.

Тем не менее, я не могу преобразовать это QString формат (т.е. 20/12/2015) в QDate используя следующее:

QString date_string_on_db = "20/12/2015";
QDate Date;
Date.fromString(date_string_on_db,"dd/MM/YYYY");

Date всегда возвращается invalid,

что я должен делать ?

8

Решение

Прежде всего, строка формата должна быть dd/MM/yyyy, Документация Qt для QDate учебный класс Говорит, что yyyy распознается как четырехзначный номер года.

На втором месте, fromString это static функция, которая возвращает новый QDate, В настоящее время возвращаемое значение этой функции отбрасывается: оно не записывается обратно в Date переменная, как вы могли подумать. Полный правильный код должен выглядеть следующим образом:

QString date_string_on_db = "20/12/2015";
QDate Date = QDate::fromString(date_string_on_db,"dd/MM/yyyy");
12

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]