QT unixtimestamp преобразование не печатать время по Гринвичу - PullRequest
1 голос
/ 16 января 2020

У меня есть 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, я увидел, что мне нужно получить вывод по Гринвичу, но не представляю, как я могу получить использование Qt

1 Ответ

2 голосов
/ 16 января 2020

Вам необходимо установить время c на Qt::UTC. Как это:

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