来自String formate的QDateTime有bug

时间:2015-03-29 11:15:54

标签: qt

我使用的Qt版本是5.4。当我尝试这个代码打击时,结果是OK

QString dateString = "Mar 4, 2015";
QDateTime dateData = QDateTime::fromString(dateString, "MMM dd, yyyy");
qDebug() << "data:" << dateData.toString("yyyy dd MM");

结果是数据:2015 04 03。 但是当我将字符串更改为Mar 3, 2015时,结果为&#34;&#34;。为什么呢?

QString dateString = "Mar 3, 2015";
QDateTime dateData = QDateTime::fromString(dateString, "MMM dd, yyyy");
qDebug() << "data:" << dateData.toString("yyyy dd MM");

1 个答案:

答案 0 :(得分:3)

看起来像未定义的行为,因为您指定了&#34; dd&#34;假设前导零。

这很好用:

QString dateString = "Mar 3, 2015";
QDateTime dateData = QDateTime::fromString(dateString, "MMM d, yyyy");
qDebug() << "data:" << dateData.toString("yyyy dd MM");