【问题标题】:How to get a local time instead of UTC time in ACE?如何在 ACE 中获取本地时间而不是 UTC 时间?
【发布时间】:2012-03-12 13:36:20
【问题描述】:

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

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

【问题讨论】:

    标签: c++ timezone cross-platform ace


    【解决方案1】:
    #include &lttime.h&gt #include &lt iostream &gt 诠释主要(){ time_t tempTime; 时间(&tempTime); 结构时间值电视; gettimeofday(&tv, NULL); long int m_eventTime = temptime - timezone ; 返回0; }

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

    【讨论】:

    • ACE 应该具有类似的功能
    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      • 2021-03-09
      • 2021-09-26
      • 2015-12-16
      • 2018-08-26
      • 1970-01-01
      相关资源
      最近更新 更多