GetTimeZoneInformation
用各种有用的信息填充TIME_ZONE_INFO
结构体。
但是它实际上并没有告诉我当前的当地时区是否为夏令时。
我在纽约,StandardBias
和DaylightBias
和Bias
说的是一样的。
怎么回事?
GetTimeZoneInformation
的返回码包含您想要的信息。
根据MSDN:
如果函数成功,则返回下列值之一:
TIME_ZONE_ID_UNKNOWN
0
当前时区没有使用日光节约时间,因为没有转换日期或日光节约时间的自动调整被禁用。TIME_ZONE_ID_STANDARD
1
系统在TIME_ZONE_INFORMATION
结构体的StandardDate成员所覆盖的范围内运行。TIME_ZONE_ID_DAYLIGHT
2
系统在TIME_ZONE_INFORMATION
结构体的DaylightDate成员所覆盖的范围内运行。如果函数因其他原因失败,例如内存不足错误,则返回TIME_ZONE_ID_INVALID。要获取扩展的错误信息,请调用
GetLastError
。
请务必检查返回代码,以确保您收到的信息确实有效。