我需要能够在 Windows 机器上将本地时间转换为 UTC。我找到了声称可以执行此操作的SystemTimeToTzSpecificLocalTime API,但后来我阅读了它的描述并发现了这一点:
SystemTimeToTzSpecificLocalTime 函数在以下情况下可能会错误地计算本地时间:
- 时区对旧年份和新年份使用不同的 UTC 偏移量。
- 要转换的 UTC 时间和计算的本地时间是不同年份的。
我向 MS 提出的第一个反问:“编写可靠的 API 有多难?”
然后,实际的问题——你如何做到 100% 的工作?(并且不像 API 所暗示的那样。)