【发布时间】:2012-03-12 13:36:20
【问题描述】:
我一直在程序中使用 ACE_OS::gettimeofday() 来获取当前时间。据我所知,ACE 总是在内部使用 UTC。但是,有时我确实需要根据系统的时区将 UTC 时间转换为本地时间。
是否可以在不使用任何特定于平台的技术的情况下进行这种转换?任何建议将不胜感激。
【问题讨论】:
标签: c++ timezone cross-platform ace
我一直在程序中使用 ACE_OS::gettimeofday() 来获取当前时间。据我所知,ACE 总是在内部使用 UTC。但是,有时我确实需要根据系统的时区将 UTC 时间转换为本地时间。
是否可以在不使用任何特定于平台的技术的情况下进行这种转换?任何建议将不胜感激。
【问题讨论】:
标签: c++ timezone cross-platform ace
我在 Unix/Linux 中使用上述方法转换为本地时间。 m_eventTime 变量根据您的时区保存纪元
【讨论】:
@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
【讨论】: