1

我一直在程序中使用 ACE_OS::gettimeofday() 来获取当前时间。据我所知,ACE 总是在内部使用 UTC。但是,有时我确实需要根据系统的时区将 UTC 时间转换为本地时间。

是否可以在不使用任何特定于平台的技术的情况下进行这种转换?任何建议将不胜感激。

4

2 回答 2

2
    #include <时间.h>
    #include <iostream>
    诠释主要(){
       time_t tempTime;
       时间(&tempTime);
       结构时间值电视;
       gettimeofday(&tv, NULL);
       long int m_eventTime = temptime - timezone ;

    返回0;
   }

我在 Unix/Linux 中使用上述方法转换为本地时间。m_eventTime 变量根据您的时区保存纪元

于 2012-02-22T08:19:28.157 回答
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
于 2012-02-23T05:05:09.573 回答