7

我现在,这个问题听起来很愚蠢,但我就是无法让它发挥作用。最坏的例子:

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)。但是突然,无法解析字符串。

有任何想法吗?

4

2 回答 2

9

fromString是一个返回日期的静态函数;所以你需要做:

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

在您的代码中b从未改变其默认初始化状态

于 2014-07-16T15:57:13.020 回答
1
QString as = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss");
于 2018-09-07T13:14:51.727 回答