2016-04-12 16 views
1

私はこの問題を抱えています。Qtを使用して現地時間を秒で取得

私はすでにをQDateTimeから数秒で取得しています。 問題は、これを現地時間(秒)に変換する方法を見つけることができません。 toLocalTime()のように機能していないようなQDate関数がいくつかあります。誰かが私を助けてくれることを願っています。

QDateTime::currentMSecsSinceEpoch(); 
QDateTime currentateTime = QDateTime::currentDateTime(); 
QDateTime UTC(QDateTime::currentDateTimeUtc()); 
currentDateTime.toString().toStdString(); 
TimeNow = currentDateTime.toMSecsSinceEpoch()/1000; 

上記のコードは、currentUTC時間の秒数です。

答えて

0

使用QDateTime::fromTime_t、ドキュメントの状態へ:協定世界時(Qtのコーディネート、00:00:

日時1970-01-01T00経過した秒数です日時を返します。 :: UTC)、は指定された仕様に変換されます。

qint64 utcTime = QDateTime::currentMSecsSinceEpoch(); 
QDateTime localTime = QDateTime::fromTime_t(utcTime, Qt::LocalTime); 
+0

ああため

QDateTime::currentDateTime().toTime_t() 

。ありがとうございました!問題は今、「QDateTime :: fromTime_t(qint64&Qt :: TimeSpec)への呼び出しに一致する関数がありません」というエラーがあることです。何か不足していますか? – MuchWow

+0

あなたは少なくともQt 5.2 – TheDarkKnight

+0

ああ問題があるでしょう使用している必要があります。これは現時点では実現不可能です。これを行う他の方法がありますか?ありがとう – MuchWow

1

あなたはちょうどあなたがQDateTime::toTime_t()を使用することができエポックからの秒単位の時間が必要な場合は、このメソッドはQt 4.7に存在し、最初からQt 5の一部であるようです。現地時間のために、または素敵な1ザッツUTC

QDateTime::currentDateTimeUtc().toTime_t() 
関連する問題