QT unixtimestamp 转换不打印 GMT 时间

QT unixtimestamp conversion not print GMT time

我有代表 1/15/2020 16:45:13 的 unixtimestamp 1579106713 我需要在 Qt 中转换这个时间,我使用了代码但得到了不同的值

 int unixTimeTmp = 1579106713; // 1/15/2020 16:45:13
 QDateTime timestampq;
 timestampq.setTime_t(unixTimeTmp);
 qDebug() << timestampq.toString();

给出输出

Wed Jan 15 11:45:13 2020 // expect Wed Jan 15 16:15:33 2020

当我检查这里 https://www.epochconverter.com 时,我看到我必须获得 GMT 输出,但不知道如何使用 Qt

您需要将时间规格设置为 Qt::UTC。像这样:

int unixTimeTmp = 1579106713; // 1/15/2020 16:45:13
QDateTime timestampq;
timestampq.setTime_t(unixTimeTmp);
timestampq.setTimeSpec(Qt::UTC);
qDebug() << timestampq.toString();