无法将QString转换为QDateTime

时间:2018-06-17 16:27:49

标签: c++ qt qdatetime

我必须通过QDateTime :: fromString方法将QString转换为QDateTime。我有QString对象,其中包含“Wed,13 Jun 2018 12:52”。但是当我使用它时,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

2 个答案:

答案 0 :(得分: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");

答案 1 :(得分:0)

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