我有以下情况:
QDate fixDate = QDate::fromString(QString("270912"), "ddMMyy");
返回的年份是1912
。我不明白为什么以及如何获得正确的一年。
提前致谢
答案 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
吗?或者你需要这种格式的日期?