我使用的Qt版本是5.4。当我尝试使用这个代码时,结果是可以的。
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时,结果是"“。为什么?
QString dateString = "Mar 3, 2015";
QDateTime dateData = QDateTime::fromString(dateString, "MMM dd, yyyy");
qDebug() << "data:" << dateData.toString("yyyy dd MM");发布于 2015-03-29 11:37:47
看起来像未定义的行为,因为您指定了"dd“,它假定前导为零。
这样做很好:
QString dateString = "Mar 3, 2015";
QDateTime dateData = QDateTime::fromString(dateString, "MMM d, yyyy");
qDebug() << "data:" << dateData.toString("yyyy dd MM");https://stackoverflow.com/questions/29328414
复制相似问题