这是Qt中2位数年份的字符串变为日期格式的一个坑
在Qt文档中yy表示2位数的年份,str = date->toString("yy.MM.dd")无问题。
但是该str变回日期的时候date = QDate::fromString(str, "yy.MM.dd")有个年份错误的问题

比如2020.08.21变str时为20.08.21,正确,再变date时为1920.08.21,错误

这是因为变str时年份指定为2位数,信息不全,后面变date时,虽然参数是yy.MM.dd但是仍然会转变为4位数的年份(这点Qt文档并未明确),自动补全,就成这样了。

附:Qt日期默认值为1900.1.1


123654_
81 声望5 粉丝

君子曰:学不可以已。