QDate - 错误的一年

时间:2012-09-27 13:34:17

标签: qt qdate

我有以下情况:

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

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

提前致谢

3 个答案:

答案 0 :(得分:8)

两位数的年份总是被解释为19xx。 因此,您可以通过YYYY或只添加100年。

答案 1 :(得分:2)

docs

中所述
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年是否足以进入本世纪来改变默认... ...

答案 2 :(得分:1)

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

Look here for more information about fromString method