无法将 QString 转换为 QDateTime

Can not convert QString to QDateTime

我必须通过 QDateTime::fromString 方法将 QString 转换为 QDateTime。我有包含 "Wed, 13 Jun 2018 12:52" 的 QString 对象。但是当我使用它时 QDateTime::fromString returns 无效对象,我不知道为什么。我使用 "ddd, MM-MMM-yyyy HH:MM" 格式。谁能告诉我我做错了什么?

我的代码:

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

您的 QDateTime 格式与您输入的字符串不符。

Wed, 13 Jun 2018 12:52 应与 ddd, dd MMM yyyy HH:mm.

匹配

参见 QDateTime::fromString

此外,请确保您在进行转换时使用了正确的语言环境,因为 dddMMM 已本地化。使用 QLocale::setDefault, or with 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);