我一直在程序中使用ACE_OS :: gettimeofday()來獲取當前時間。據我所知,ACE始終在內部使用UTC。但是,有時我需要根據系統的時區將UTC時間轉換爲本地時間。如何在ACE中獲取本地時間而不是UTC時間?
是否可以在不使用任何平臺特定技術的情況下進行此轉換?任何建議,將不勝感激。
我一直在程序中使用ACE_OS :: gettimeofday()來獲取當前時間。據我所知,ACE始終在內部使用UTC。但是,有時我需要根據系統的時區將UTC時間轉換爲本地時間。如何在ACE中獲取本地時間而不是UTC時間?
是否可以在不使用任何平臺特定技術的情況下進行此轉換?任何建議,將不勝感激。
@ArunMu
通過一些谷歌上搜索,它遵循你的回答當然,我發現下面的解決方案,謝謝!
time_t temptime = ACE_OS::gettimeofday().sec();
tm* timeinfo = ACE_OS::localtime(&temptime); // local time
tm* timeinfo = ACE_OS::gmtime(&temptime); // UTC/GMT time
#include <time.h> #include < iostream > int main(){ time_t tempTime; time(&tempTime); struct timeval tv; gettimeofday(&tv, NULL); long int m_eventTime = temptime - timezone ; return 0; }
我在Unix/Linux中使用上面的轉換爲本地時間。 m_eventTime變量保持劃時代按您的時區
ACE應該具有類似的功能 – Arunmu 2012-02-22 08:22:47