Как использовать QDateTime::fromString?

Теперь вопрос звучит довольно глупо, но я просто не могу заставить его работать. Худший пример:

QString time_format = "yyyy-MM-dd  HH:mm:ss";
QDateTime a = QDateTime::currentDateTime();
QString as = a.toString(time_format);

qDebug() << as; // print "2014-07-16  17:47:04"

QDateTime b;
b.fromString(as,time_format);
assert(b.isValid()); // fails

Я создаю действительный QDatetime, делаю из него строку (это правильно) и пытаюсь снова превратить его в QDatetime (используя ту же строку time_format). Но вдруг строка не может быть проанализирована.

Есть идеи?


person FooTheBar    schedule 16.07.2014    source источник


Ответы (1)


fromString — это статическая функция, которая возвращает дату; поэтому вам нужно сделать:

QDateTime b = QDateTime::fromString(as,time_format);

в вашем коде b никогда не менялось его инициализированное состояние по умолчанию

person ratchet freak    schedule 16.07.2014
comment
Ой. Иногда один (мне) следует лучше прочитать руководство. Спасибо, это решило это! - person FooTheBar; 16.07.2014
comment
Это может не работать, если язык вашей системы отличается от английского. - person Waqar; 14.07.2020