2012-02-22 88 views
1

我一直在程序中使用ACE_OS :: gettimeofday()來獲取當前時間。據我所知,ACE始終在內部使用UTC。但是,有時我需要根據系統的時區將UTC時間轉換爲本地時間。如何在ACE中獲取本地時間而不是UTC時間?

是否可以在不使用任何平臺特定技術的情況下進行此轉換?任何建議,將不勝感激。

回答

2

@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 
2
 

    #include &lttime.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變量保持劃時代按您的時區

+0

ACE應該具有類似的功能 – Arunmu 2012-02-22 08:22:47

相關問題