2010-05-06 4 views
37

Я пытаюсь получить текущее время как 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) 
+0

Что именно вы имеете в виду под меткой времени? Просьба представить ожидаемый результат. – chalup

+1

unix time == timestamp – user63898

ответ

34

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

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().

+1

Я сделал это: QDateTime current = QDateTime :: currentDateTime(); uint timestame = current.toTime_t(); , но он не дал мне текущую дату после того, как я проверил результат здесь: http://www.4webhelp.net/us/timestamp.php – user63898

+2

просто попробовал передать строку, возвращаемую QDateTime :: currentDateTime(). toTime_t(), чтобы это сайт и получил правильное время. Возможно, вы задали неправильный часовой пояс в форме на этом сайте. – VestniK

+0

Я также получил правильное время, используя тот же код. – Jack

65

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

+9

Помните, что это возвращает интервал в ** miliseconds **, а не секунды. Так что это не время unix! – drzymala

+2

Просто сделайте (QDateTime :: currentMSecsSinceEpoch()/1000), который должен сделать это Unix time: P –

+0

Этот ответ заставляет меня тратить время! потому что это не совсем время unix, о чем упоминал @martini. –

Смежные вопросы