1. ホーム
  2. qt

[解決済み] QDateTime::fromStringの使い方は?

2022-02-09 18:28:25

質問

今となっては、この質問はかなり馬鹿げているように聞こえますが、どうしてもうまくいきません。最悪な例です。

QString time_format = "yyyy-MM-dd  HH:mm:ss";
QDateTime a = QDateTime::currentDateTime();
QString as = a.toString(time_format);

qDebug() << as; // print "2014-07-16  17:47:04"

QDateTime b;
b.fromString(as,time_format);
assert(b.isValid()); // fails

有効なQDatetimeを作成し、そこから文字列を作成し(それは正しい)、再びQDatetimeに変えようとします(同じtime_format-stringを使用)。しかし、突然、文字列をパースすることができなくなりました。

何か思い当たることはありますか?

解決方法は?

fromString は日付を返す静的関数なので、これを実行する必要があります。

QDateTime b = QDateTime::fromString(as,time_format);

を入力してください。 b デフォルトの初期化状態から変更されることはない