QDate - wrong year

前端 未结 3 892
误落风尘
误落风尘 2021-01-22 01:39

I have the following situation:

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

the year returned is 1912.

相关标签:
3条回答
  • 2021-01-22 01:53

    Two-digit year is always interpretating as 19xx. So You can pass YYYY or just add 100 to years.

    0 讨论(0)
  • 2021-01-22 01:56

    As described in the 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
    

    (Excuse the formatting, it's in a table in the docs). So you are going to have to pass the full year into the method until Qt decide 2012 is far enough into the century to change the default...

    0 讨论(0)
  • 2021-01-22 02:00

    Could you use ddMMyyyy instead of ddMMyy? Or you need date in this format?

    Look here for more information about fromString method

    0 讨论(0)
提交回复
热议问题