查找本地系统上定义的时区
TimeZoneInfo 类不公开公共构造函数。 因此,new
关键字不能用于创建新的 TimeZoneInfo 对象。 相反,TimeZoneInfo 对象通过从注册表检索关于预定义时区的信息或通过创建自定义时区而完成实例化。 本主题讨论从存储在注册表中的数据实例化时区。 此外,TimeZoneInfo 类的 static
(Visual Basic 中的 shared
)属性提供对协调世界时 (UTC) 和本地时区的访问。
注意
对于在注册表中未定义的时区,可以通过调用 CreateCustomTimeZone 方法的重载创建自定义时区。 如何:创建不带调整规则的时区和如何:创建带有调整规则的时区主题中讨论了创建自定义时区。 此外,可以通过使用 FromSerializedString 方法将 TimeZoneInfo 对象从序列化字符串还原来对其实例化。 如何:将时区保存到嵌入的资源中和如何:从嵌入的资源还原时区主题中探讨了如何序列化和反序列化 TimeZoneInfo 对象。
访问独立时区
TimeZoneInfo 类提供两个预定义的时区对象,分别表示 UTC 时间和本地时区。 它们分别可从 Utc 和 Local 属性获得。 有关访问 UTC 或本地时区的说明,请参阅如何:访问预定义 UTC 和本地时区对象。
还可以实例化表示注册表中定义的任何时区的 TimeZoneInfo 对象。 有关实例化特定时区对象的说明,请参阅如何:实例化 TimeZoneInfo 对象。
时区标识符
时区标识符是唯一标识时区的键字段。 虽然大多数键都相对较短,但时区标识符相对较长。 在大多数情况下,其值对应于 TimeZoneInfo.StandardName 属性,该属性用于提供时区标准时间的名称。 但是,有例外情况。 确保提供有效标识符最好的办法是枚举系统上可用的时区,并记下其关联的标识符。