私は成功せずに現在の時刻をタイムスタンプとして取得しようとしています。
私はこのコードを持っています:
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)
この機能を探していると思います:
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()もご覧ください。
Qt 4.7には、 QDateTime::currentMSecsSinceEpoch()
静的関数があり、中間ステップなしで、必要なものを正確に実行します。したがって、Qt 4.7以降を使用するプロジェクトにはお勧めします。
Qt 5.8以降、秒を直接配信するための QDateTime::currentSecsSinceEpoch()
があります(別名:実際のUnixタイムスタンプ)。したがって、秒を取得するために結果を1000で割る必要はありません。
クレジット: this answer へのコメントとしても投稿されます。しかし、それが別の答えであるかどうかを見つけるのは簡単だと思います。