我使用的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");
答案 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");