gpt4 book ai didi

windows - 有什么办法可以得到 future 点的 UTC 时间转换?

转载 作者:可可西里 更新时间:2023-11-01 11:58:47 26 4
gpt4 key购买 nike

在 Windows 中,我可以通过调用 GetTimeZoneInformation 轻松地进行 UTC 转换。结果我返回的结构将有两个不同的偏置值,一个用于标准时间,一个用于 DST,还有一个 BiasCode 表示我们当前使用的是哪个。如果我们只关心当前时刻就好了。

但是我有一个 API,用户可以调用它来检索有关即将发生的事件的数据。数据以本地时间存储在数据库中,用户需要 UTC 时间,所以我运行转换,一切都很好......除了我们将在几周内更改时间。如果我用今天的偏差报告时间变化的另一边的事件,它们将偏离一个小时。

有什么我可以调用的,它像 GetTimeZoneInformation 一样工作,只是我给它传递了一个日期和时间,然后它给我的 BiasCode 是 < em>到时候会是正确的, 而不是现在的? (是的,我知道规则每年都在变化。我不是在寻找 future 几周之后的任何东西。)

最佳答案

SystemTimeToTzSpecificLocalTime - 让我引用 MSDN -

Converts a time in Coordinated Universal Time (UTC) to a specified time zone's corresponding local time.

您可以提供过去和 future 的输入 UTC 时间,并在考虑特定时刻有关 DST 设置的所有详细信息的情况下进行本地时间转换。

TzSpecificLocalTimeToSystemTime 是进行反向转换的孪生函数。

对我来说更重要的问题是 DST 设置会不时更改,即使对于同一地区也是如此,并且转换可能每年都不同(当然,这主要影响过去的事件,而不是 future 的事件).我假设此 API 也会处理此问题,跟踪 DST 规则随时间变化的历史记录。

更新。这个假设是正确的,MSDN 提到:

  • The time zone uses a different UTC offset for the old and new years.
  • The UTC time to be converted and the calculated local time are in different years.

关于windows - 有什么办法可以得到 future 点的 UTC 时间转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com