如何使用c++在linux中获取utc偏移量
how to get utc offset in linux using c++
我使用以下代码段来计算utc偏移量,但我意识到有时它会返回错误的结果:
double DateTime::getUTCOffset()
{
time_t currtime;
struct tm * timeinfo;
time ( &currtime );
timeinfo = gmtime ( &currtime );
time_t utc = mktime( timeinfo );
timeinfo = localtime ( &currtime );
time_t local = mktime( timeinfo );
// Get offset in hours from UTC
double offsetFromUTC = ((difftime(local, utc) / HOUR_IN_SECONDS) );
// Adjust for DST
if (timeinfo->tm_isdst)
{
offsetFromUTC += 1;
}
return offsetFromUTC;
}
%90次都是正确的,计算utc偏移的最佳方法是什么?
我认为tm_gmtoff
字段应该在您的系统中可用。
std::time_t current_time;
std::time(¤t_time);
struct std::tm *timeinfo = std::localtime(¤t_time);
long offset = timeinfo->tm_gmtoff;
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 从C字符串中获取奇怪的字符串长度
- 为什么我的for循环不能正确获取argv
- 如何使用闰秒以微秒为单位获取 UTC 时间
- 如何在C++中以毫秒为单位获取今天的 UTC 午夜时间?
- 有没有办法在 C++ 中获取 uint64_t 日期的 UTC 纳秒
- 如何获取UTC时间
- 如何使用c++在linux中获取utc偏移量
- C++提升以 UTC 格式获取 unix 时间戳
- 如何获取从epoch到午夜的UTC秒数
- 获取当前时间作为W3C UTC时间字符串
- 在Mac(C++)上获取系统时区的UTC偏移量
- 如何从字符串中获取UTC偏移量