Не удается преобразовать QString в QDateTime

Я должен конвертировать QString в QDateTime с помощью метода QDateTime::fromString. У меня есть объект QString, который содержит "Ср, 13 июня 2018 12:52". Но когда я использую его, QDateTime::fromString возвращает неверный объект, и я не знаю почему. Я использую формат "DDD, MM-MMM-гггг ЧЧ: ММ". Может ли кто-нибудь сказать мне, что я делаю не так?

Мой код:

QString tempDate; //Wed, 13 Jun 2018 12:52
QDateTime::fromString(tempDate, "ddd, MM-MMM-yyyy HH:MM"); //returns invalid obj

2 ответа

Решение

Ваш формат QDateTime не соответствует вашей входной строке.

Wed, 13 Jun 2018 12:52 должно соответствовать ddd, dd MMM yyyy HH:mm,

Смотрите QDateTime:: fromString.

Кроме того, убедитесь, что вы используете правильный язык при выполнении преобразования, так как ddd а также MMM локализованы. Либо измените локальное с помощью QLocale:: setDefault, либо с помощью QLocale:: toDateTime:

QLocale(QLocale::English).toDateTime(tempDate, "ddd, dd MMM yyyy HH:mm");

QDateTime startTime = QDateTime::fromString (QString("1970-07-18T00:00:00"), Qt::ISODate);

Другие вопросы по тегам