【问题标题】:QDateTime::fromMSecsSinceEpoch not works correctlyQDateTime::fromMSecsSinceEpoch 无法正常工作
【发布时间】:2015-03-20 13:21:55
【问题描述】:

我正在尝试将这个作为 unix 时间戳的值 (1426519114913) 转换为 QDateTime 对象。为此,我们在 QDateTime 中有 fromMSecsSinceEpoch 函数,它将毫秒从纪元转换为 DateTime 对象。 但我没有成功,为了测试我在下面做的测试表明qt可能有错误,我忘记了什么吗?请帮帮我。

quint64 timestamp = QDateTime::currentMSecsSinceEpoch();
QDateTime dt3 = QDateTime::fromMSecsSinceEpoch(timestamp);

编辑:错误出现在调试器的本地窗口中,现在转换后显示正确的日期值。实际上结果是正确的。只需要 toString() 以正确格式查看日期。谢谢大家。

【问题讨论】:

  • 你得到什么结果,你期望什么结果?

标签: c++ qt qt4 qt-creator qdatetime


【解决方案1】:

该代码没有任何问题。结果看起来不错!

#include <QDateTime>
//...
QDateTime tpast = QDateTime::fromMSecsSinceEpoch(1426519114913);
quint64 timestamp = QDateTime::currentMSecsSinceEpoch();
QDateTime dt3 = QDateTime::fromMSecsSinceEpoch(timestamp);

qDebug() << "time(1426519114913):" << tpast.toString();
qDebug() << "timestamp:" << timestamp;
qDebug() << "time(timestamp):" << dt3.toString();

/*
output:
time(1426519114913): "Mon Mar 16 11:18:34 2015"
timestamp: 1427073124768
time(timestamp): "Sun Mar 22 21:12:04 2015"
*/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 2016-09-01
    • 2012-07-11
    • 2018-04-08
    • 2017-04-20
    • 2018-10-02
    • 2016-09-04
    相关资源
    最近更新 更多