【问题标题】:How to use QDateTime::fromString?如何使用 QDateTime::fromString?
【发布时间】:2014-07-16 15:48:38
【问题描述】:

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

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

有什么想法吗?

【问题讨论】:

    标签: qt qdatetime


    【解决方案1】:

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

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

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

    【讨论】:

    • 哦。有时一个(我)应该更好地阅读手册。谢谢,解决了!
    • 如果您的系统语言不是英语,则此可能无法正常工作。
    【解决方案2】:
    QString as = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多