2

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

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

4

3 回答 3

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 项目仍然处于活动状态。

——杰伦

于 2010-08-20T17:15:58.843 回答
2

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

于 2010-08-12T03:24:54.267 回答
0

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

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

你可以通过谷歌搜索找到相当多的信息:utc local delphi

于 2010-08-20T16:49:45.083 回答