从坑里走出来,研究了一下GetSystemTime和GetLocalTime的行为,
- 能够同步时间服务器的情况下,不管右下角图标时间显示是否是标准时间:
- 屏蔽掉时间服务器的情况(实际情况下可能是网络拥挤或者被稍微手脚了一下下):
两个函数都将从时间服务器返回标准时间而与右下角的显示时间无关,GetLocalTime的返回值根据时区有一个偏移值。
这种情况下获得的时间是准确值,换句话说,是接受了时间服务器的返回值,这个结果是不以用户的意志为转移的,再说下去,用户只需要动一点点手脚……
GetLocaTime取右下角时间,GetSystemTime在此值上手动计算负偏移量得到UTC,这种情况下得到的时间应该说是不能够保证精确性的。


分享到做啥
分享到收客


[…] 日前在一个项目中有UTC时间和本地时间转换的需求,查了查 MSDN,需要先获取TIME_ZONE_INFORMATION 结构,然后用TzSpecificLocalTimeToSystemTime和SystemTimeToTzSpecificLocalTime实现转换。 […]