Windows中的历史夏令时

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

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

Solutions Collecting From Web of "Windows中的历史夏令时"

有趣的是,昨天在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时区数据库项目仍然活跃。

–jeroen

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

如何: 在Delphi中将UTC字符串转换为TDatetime

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

你可以在Google上搜索: utc local delphi