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

Как конвертировать из временной метки в дату в Qt?

У меня есть временная метка Unix, и мне нужно преобразовать ее в человеко-читаемую дату + время. Как это можно сделать в Qt?

4b9b3361

Ответ 1

int unixTime = 1234567890;
QDateTime timestamp;
timestamp.setTime_t(unixTime);
qDebug() << timestamp.toString(Qt::SystemLocaleShortDate);

Это должно помочь тебе. Как сказал Мэтью, см. QDateTime.setTime_t, а также QDateTime.toString. У toString есть перечисление с несколькими различными опциями, а также перегрузка, в которой вы можете передать строку, позволяющую выполнить любое количество настроек.

Ответ 3

Вы можете использовать статическую функцию: fromTime_t, например:

qDebug() < QDateTime:: fromTime_t (your_time_stamp).toString( "dd/MM/yyyy hh: mm: ss" );

Ответ 4

Один хороший пример

qint64 qiTimestamp=QDateTime::currentMSecsSinceEpoch();
QDateTime dt;
dt.setTime_t(qiTimestamp/1000);
ui->lineEdit_DateTime->setText(dt.toString("yyyy-MM-dd hh:mm:ss"));

Ответ 5

Обратите внимание, что QDateTime::setTime_t() устарела, используйте QDateTime::setSecsSinceEpoch(). То же самое для fromTime_t().