代码之家  ›  专栏  ›  技术社区  ›  bdukes Jon Skeet

如何确定给定日期是否为.NET 2.0中给定时区的夏令时?

  •  3
  • bdukes Jon Skeet  · 技术社区  · 16 年前

    TimeZoneInfo 和注册表是不允许的选项)。我要求用户提供两个日期和一个时区,并希望能够自动确定是否需要调整DST的时区。

    非常 强大的支持,强大的 ,以便首先区分所有不同的时区。

    5 回复  |  直到 15 年前
        1
  •  2
  •   Eric Z Beard    16 年前

    在.NET2.0中,您必须自己编写代码。它涉及研究不同地区的夏令时法律,并将其构建到您自己的数据结构中。如果你只关心时区的一个子集,例如在美国,那么这个问题就有点简化了,但是如果你需要所有的全球时区,那么你有很多工作要做,并且当法律改变时,代码必须每隔几年更新一次。即使是最新版本的.NET中的新时区对象也需要windows更新,以便在法律发生变化时保持其正确性。

    here , here here 更多信息。

        2
  •  2
  •   Daryl    16 年前

    这个 TZ Database 是一个维护良好的时区规则公共域数据库。它们提供的数据也有一种编译格式,有很多库可用于读取编译后的数据,如下所示: ZoneInfo (tz database / Olson database) .NET API

        3
  •  2
  •   Chris Shaffer    16 年前

    这里有极好的时区库: TZ4Net

        4
  •  0
  •   Domenic    16 年前

    嗯,自从 TimeZoneInfo

    在这种情况下,您是否考虑过反射 时区信息 类并使用您在其中找到的内容?

        5
  •  0
  •   Community CDub    7 年前

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