Как получить текущий 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)
Ответы
Ответ 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 или новее.