QDateTime :: fromMSecsSinceEpoch无法正常工作

时间:2015-03-20 13:21:56

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

我正在尝试将此值为unix时间戳的值(1426519114913)转换为QDateTime对象。为此,我们在QDateTime中使用MSecsSinceEpoch函数将msecs从epoch转换为DateTime对象。 但是我没有成功,为了测试我在下面测试,它告诉我,qt可能有一个错误,我忘记了什么?请帮帮我。

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

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

1 个答案:

答案 0 :(得分:0)

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

#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"
*/