QT unixtimestamp 转换不打印 GMT 时间

Posted

技术标签:

【中文标题】QT unixtimestamp 转换不打印 GMT 时间【英文标题】:QT unixtimestamp conversion not print GMT time 【发布时间】:2020-05-03 09:51:11 【问题描述】:

我有 unixtimestamp 1579106713 代表 1/15/2020 16:45:13,我需要在 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

【问题讨论】:

【参考方案1】:

您需要将 timespec 设置为 Qt::UTC。像这样:

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

【讨论】:

以上是关于QT unixtimestamp 转换不打印 GMT 时间的主要内容,如果未能解决你的问题,请参考以下文章

怎么把时间戳转化成时间的正规格式显示出来

使用 Moment.js 获取当前的 unixtimestamp

如何将新的 Gmail API 消息/线程 ID 转换为 X-GM-MSGID/X-GM-THRID 和

GlobalMapper精品教程055:GM坐标转换器的巧妙使用

使用javascript将UNIX TIMESTAMP转换为日期[重复]

在node.js和GraphicsMagick中将tiff转换为jpeg