3

次のような状況があります。

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

返された年はです1912。正しい年を取得する理由と方法がわかりません。

前もって感謝します

4

3 に答える 3

10

2 桁の年は常に として解釈され19xxます。だからあなたは年を渡すYYYYか、単に年を追加100することができます.

于 2012-09-27T14:14:25.960 に答える
2

ドキュメントで説明されているように:

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年がデフォルトを変更するのに十分な世紀に入ると判断するまで、1年をメソッドに渡す必要があります...

于 2012-09-27T13:42:52.603 に答える
1

ddMMyyyyの代わりに使えますddMMyyか?または、この形式の日付が必要ですか?

fromString メソッドの詳細については、こちらを参照してください

于 2012-09-27T13:44:03.600 に答える