我有以下情况:
QDate fixDate = QDate::fromString(QString("270912"), "ddMMyy");
返回的年份是1912
. 我不明白为什么以及如何获得正确的年份。
提前致谢
两位数的年份总是解释为19xx
。所以你可以通过YYYY
或只是增加100
几年。
如文档中所述:
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 年足以进入世纪以更改默认值...
你能用ddMMyyyy
代替ddMMyy
吗?或者您需要这种格式的日期?