3

我有以下情况:

   QDate fixDate = QDate::fromString(QString("270912"), "ddMMyy");

返回的年份是1912. 我不明白为什么以及如何获得正确的年份。

提前致谢

4

3 回答 3

10

两位数的年份总是解释为19xx。所以你可以通过YYYY或只是增加100几年。

于 2012-09-27T14:14:25.960 回答
2

文档中所述:

For any field that is not represented in the format the following defaults are used:
Year 1900
Month 1
Day 1

// For example:
QDate::fromString("1.30", "M.d");           // January 30 1900
QDate::fromString("20000110", "yyyyMMdd");  // January 10, 2000

(请原谅格式,它在文档的表格中)。因此,您将不得不将整年传递给该方法,直到 Qt 决定 2012 年足以进入世纪以更改默认值...

于 2012-09-27T13:42:52.603 回答
1

你能用ddMMyyyy代替ddMMyy吗?或者您需要这种格式的日期?

在此处查看有关 fromString 方法的更多信息

于 2012-09-27T13:44:03.600 回答