Windows 中是否有一种简单的方法(使用 Delphi,而不是 .NET)将 UTC 时间转换为本地时间,并进行夏令时调整。

数据可以追溯到 12 年前,因此需要考虑这段时间内 DST 开始/结束日期的变化。

有帮助吗?

解决方案

有趣的,一个非常类似的问题昨天出现在LinkedIn。

这是我给那里的答案:

  

时区是有些流体,   尤其是当夏令时   开始/结束。

     

此数据库(    http://en.wikipedia.org/wiki/Tz_database   )定义的时区,并且它   有时会发生变化,所以你需要一个   更新机制也是如此。

     

有是一个.NET实现,它   你可以换,或作为基础使用方法:    http://www.codeproject.com/KB/locale/zoneinfo_dotnet_api.aspx

     

我不知道如何及时更新本   Delphi实现是:    http://sourceforge.net/projects/delphitz/

     

让我们知道您的最终实现。

修改 上面提到的项目似乎空的,所以我进一步搜索,发现德尔福区数据库项目是仍然有效。

- 的Jeroen

其他提示

Windows不存储历史数据,您将需要使用一个数据库,如 TZ数据库。我找不到特定的网页上列出的任何Delphi代码,但可能有一些漂浮。否则,你就必须将它移植从的是一种语言的当前支持...

怎么样: 在Delphi中将UTC字符串转换为TDatetime

另外,还有一些讨论和 Delphi 代码用于执行此操作,网址为: http://www.tek-tips.com/viewthread.cfm?qid=1486209&page=1

你可以通过谷歌搜索找到相关内容: UTC 本地 德尔福

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top