現在の時刻を取得するために、プログラムで ACE_OS::gettimeofday() を使用しています。私の知る限り、ACE は常に内部的に UTC を使用します。ただし、システムのタイムゾーンに基づいて、UTC 時間を現地時間に変換する必要がある場合があります。
プラットフォーム固有の手法を使用せずにこの変換を行うことは可能ですか? 任意の提案をいただければ幸いです。
現在の時刻を取得するために、プログラムで ACE_OS::gettimeofday() を使用しています。私の知る限り、ACE は常に内部的に UTC を使用します。ただし、システムのタイムゾーンに基づいて、UTC 時間を現地時間に変換する必要がある場合があります。
プラットフォーム固有の手法を使用せずにこの変換を行うことは可能ですか? 任意の提案をいただければ幸いです。
#include <time.h> #include < iostream > intメイン(){ time_t tempTime; 時間(&tempTime); struct timeval tv; gettimeofday(&tv, NULL); long int m_eventTime = temptime - タイムゾーン; 0 を返します。 }
上記を Unix/Linux で使用して現地時間に変換します。m_eventTime 変数は、タイムゾーンに従ってエポックを保持します
@アルンムー
もちろん、あなたの答えに続くいくつかのグーグルによって、私は次の解決策を見つけました、ありがとう!
time_t temptime = ACE_OS::gettimeofday().sec();
tm* timeinfo = ACE_OS::localtime(&temptime); // local time
tm* timeinfo = ACE_OS::gmtime(&temptime); // UTC/GMT time