Подтвердить что ты не робот

Как получить текущий TimeStamp?

Я пытаюсь получить текущее время как TimeStamp без успеха.

У меня есть этот код:

QDateTime setTime = QDateTime::fromString (QString("1970-07-18T14:15:09"), Qt::ISODate);
QDateTime current = QDateTime::currentDateTime();
uint msecs = setTime.time().msecsTo(current.time());

return  QString::number(msecs);

Выходной сигнал

Sunday, January 25th 1970, 03:17:35 (GMT)
4b9b3361

Ответ 1

Я думаю, что вы ищете эту функцию:

http://doc.qt.io/qt-5/qdatetime.html#toTime_t

uint QDateTime:: toTime_t() const

Возвращает дату и время как количество секунд, прошедших с 1970-01-01T00: 00: 00, > Скоординированное универсальное время (Qt:: UTC).

В системах, которые не поддерживают часовые пояса, эта функция будет вести себя так, как если бы местное время было Qt:: UTC.

См. также setTime_t().

Ответ 2

В Qt 4.7 существует статическая функция QDateTime::currentMSecsSinceEpoch(), которая делает именно то, что вам нужно, без каких-либо промежуточных шагов. Поэтому я бы рекомендовал это для проектов с использованием Qt 4.7 или новее.