0

我必须通过 QDateTime::fromString 方法将 QString 转换为 QDateTime。我有包含“Wed, 13 Jun 2018 12:52”的 QString 对象。但是当我使用它时 QDateTime::fromString 返回无效对象,我不知道为什么。我使用“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
4

2 回答 2

1

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

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

请参阅QDateTime::fromString

此外,请确保在进行转换时使用正确的语言环境,因为dddMMM已本地化。使用QLocale::setDefaultQLocale::toDateTime更改本地:

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

于 2018-06-17T16:41:19.507 回答
0

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

于 2020-09-12T17:15:03.883 回答