Windows中的历史夏令时

时间:2010-08-12 03:18:49

标签: windows delphi timezone dst

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

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

3 个答案:

答案 0 :(得分:2)

Windows不存储历史数据,您需要使用tz database等数据库。我找不到该特定页面上列出的任何Delphi代码,但可能会有一些浮动。否则,您必须从当前支持 的其中一种语言移植它...

答案 1 :(得分:2)

有趣的是,昨天在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/

     

告诉我们您的最终实施情况。

修改 上面提到的项目似乎是空的,所以我进一步搜索并发现Delphi TimeZone Database project仍然有效。

- 的Jeroen

答案 2 :(得分:0)

如何:Convert UTC string to TDatetime in Delphi

此外,还有一些讨论和Delphi代码可以在http://www.tek-tips.com/viewthread.cfm?qid=1486209&page=1

执行此操作

您可以通过Google搜索找到相关内容:utc local delphi