我一直在程序中使用 ACE_OS::gettimeofday() 来获取当前时间。据我所知,ACE 总是在内部使用 UTC。但是,有时我确实需要根据系统的时区将 UTC 时间转换为本地时间。
是否可以在不使用任何特定于平台的技术的情况下进行这种转换?任何建议将不胜感激。
我一直在程序中使用 ACE_OS::gettimeofday() 来获取当前时间。据我所知,ACE 总是在内部使用 UTC。但是,有时我确实需要根据系统的时区将 UTC 时间转换为本地时间。
是否可以在不使用任何特定于平台的技术的情况下进行这种转换?任何建议将不胜感激。
#include <时间.h> #include <iostream> 诠释主要(){ time_t tempTime; 时间(&tempTime); 结构时间值电视; gettimeofday(&tv, NULL); long int m_eventTime = temptime - timezone ; 返回0; }
我在 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