Windows中是否有一种简单的方法(使用Delphi,而不是.NET)将UTC时间转换为本地时间,并进行夏令时调整。
数据可追溯到12年前,因此需要考虑当时DST开始/结束日期的变化。
答案 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