QDateTime::fromMSecsSinceEpoch无法正常工作

QDateTime::fromMSecsSinceEpoch not works correctly

本文关键字:常工作 工作 fromMSecsSinceEpoch QDateTime      更新时间:2023-10-16

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

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

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

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

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