Qt QDate-错误的年份

Qt QDate-错误的年份,qt,qdate,Qt,Qdate,我有以下情况: QDate fixDate = QDate::fromString(QString("270912"), "ddMMyy"); 返回的年份为1912。我不明白为什么以及如何获得正确的年份 提前感谢如中所述: (请原谅格式化,它在文档的表格中)。因此,您将不得不在该方法中度过整整一年,直到Qt确定2012年已经足够进入本世纪来更改默认值…您是否可以使用ddMMyyyy而不是ddMMyy?或者你需要这种格式的日期 两位数的年份总是被解释为19xx。 因此,您可以通过YYYY或

我有以下情况:

   QDate fixDate = QDate::fromString(QString("270912"), "ddMMyy");
返回的年份为
1912
。我不明白为什么以及如何获得正确的年份

提前感谢

如中所述:


(请原谅格式化,它在文档的表格中)。因此,您将不得不在该方法中度过整整一年,直到Qt确定2012年已经足够进入本世纪来更改默认值…

您是否可以使用
ddMMyyyy
而不是
ddMMyy
?或者你需要这种格式的日期


两位数的年份总是被解释为
19xx

因此,您可以通过
YYYY
或仅将
100
添加到年份。

我明白了。我正在读nmea句子中的那个特殊字符串。因此,我不想篡改它。你必须调整
QDate
输出,否则你将陷入上个世纪!抱歉,QT内部文档没有提到这一点,但这是两位数年份解释程序的常见行为。Qdate::fromString(“01”,“yy”)返回1901 f.e.[code]Qdate fixDate=Qdate::fromString(QString(“270912”),“ddMMyy”)。addYears(100);[/code]将以我认为合理的方式解决您的问题。非常感谢。
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