3

我在 .NET 2.0 上,在中等信任下运行(因此TimeZoneInfo和注册表是不允许的选项)。我要求用户提供两个日期和一个时区,并且非常希望能够自动确定我是否需要调整 DST 的时区。

这可能甚至不是一个有效的场景,除非我有一些非常强大的支持,例如TimeZoneInfo,以首先区分所有不同种类的时区。

4

5 回答 5

2

在 .NET 2.0 中,您必须自己编写代码。它涉及研究各个地区的夏令时法律并将其构建到您自己的数据结构中。如果您只关心时区的子集,例如仅在美国,则问题会有所简化,但是如果您需要所有全球时区,则需要做很多工作,然后必须每次更新代码法律改变的几年。即使是最新版本的 .NET 中的新时区对象也需要 Windows 更新才能随着法律的变化而保持正确。

这里这里这里了解更多信息。

于 2008-09-04T21:44:23.483 回答
2

TZ 数据库是一个维护良好的时区规则公共域数据库。他们提供的数据还有一种编译格式,并且有很多库可用于读取编译数据,例如:ZoneInfo (tz database / Olson database) .NET API

于 2008-10-01T14:44:14.400 回答
2

优秀的时区库:TZ4Net

于 2008-10-01T14:49:56.710 回答
0

好吧,既然TimeZoneInfo被排除在外,你可能不会在框架本身中找到解决方案(但不要引用我的话)。

在这种情况下,您是否考虑过反思TimeZoneInfo课程并使用您在那里找到的内容?

于 2008-09-04T21:20:41.713 回答
0

@ Domenic,我考虑过,但我更愿意保持合法,而且我相当肯定信息无论如何都必须嵌入到框架中,或者以某种不需要权限的偷偷摸摸的方式从注册表中获取...

于 2008-09-04T21:22:49.713 回答