我正在尝试使用Windows API获取时区差异。我正在使用代码
TIME_ZONE_INFORMATION TimeZoneInfo;
GetTimeZoneInformation( &TimeZoneInfo );
float TimeZoneDifference = -( float(TimeZoneInfo.Bias) / 60 );
我正在使用(UTC +5:30)时区。
输出:5.50000 预期产量:5.30000
答案 0 :(得分:0)
偏差以分钟为单位(Dev center Time zone info)
所以+5:30的偏差是330分钟。除以代码中的60分,得到:5.5。五位半小时的十进制表示。
如果坚持获得5.3,请尝试:
float hours = trunc(float(TimeZoneInfo.Bias) / 60);
float nonDecimalHourFraction = float(TimeZoneInfo.Bias % 60) / 100;
float TimeZoneDifference = -(hours + nonDecimalHourFraction);