3
バージョン4.6.2でQtを使用し、UTC時間変位情報を持つカスタム日付文字列をQDateTimeオブジェクトに変換しようとしました。utcの時間ディスプレースメントを日付時間文字列から正しく変換するにはどうすればよいですか?
QString format = "yyyy-MM-ddThh:mm:ss.zzz+hh:mm"
QDateTime dateTime = QDateTime::fromString("2017-10-18T08:30:02.000+01:00", format);
qDebug() << dateTime.toString(format);
出力は空の文字列です。
フォーマット文字列に日付の文字列を置き換えても、日付文字列が予想通りに取得されます(2017-10-18T08:30:02.000)。
Qt documentation of QDateTime::fromStringによると、時間の移動のための明示的なフォーマットプレースホルダはありません。
私はまた、次の
QDateTime dateTime = QDateTime::fromString("2017-10-18T08:30:02.000+01:00", Qt::ISODate); // ISO 8601
qDebug() << dateTime.toString(Qt::ISODate);
を試してみたが、結果は2017-10-18T00です:00:00。
したがって、どのようにしてutcの時間の移動を日付の時間文字列から正しく変換できますか?
便利? https://bugreports.qt.io/browse/QTBUG-11623 – Tarod
あなたのコメントのためにInteressting、ありがとうTarod!明らかにQt 4.6のバグで、Qt 4.7で修正されています。私はバージョン4.6.2でQtを使用していることを認識しました。だから私は上記の私の問題を新しいQtバージョンで解決しようとします。 – kbisang
素晴らしい@kbisang!別のQtバージョンであなたが望むものを手に入れたら、私たちにお知らせください。 – Tarod