欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

ZoneId-Time 区域 ID

最编程 2024-05-08 12:24:45
...
该ID在系统中是唯一的。 ID有三种类型。

最简单的ID类型来自ZoneOffset 这包括'Z'和以'+'或' - '开头的ID。

下一类ID是具有某种形式前缀的偏移式ID,例如“GMT + 2”或“UTC + 01:00”。 识别的前缀是“UTC”,“GMT”和“UT”。 偏移量是后缀,将在创建期间进行标准化。 这些ID可以被归到ZoneOffset使用normalized()

第三种类型的ID是基于区域的ID。 基于区域的ID必须是两个或更多字符,而不是以“UTC”,“GMT”,“UT”+“或” - “开头。 基于区域的ID由配置定义,请参见ZoneRulesProvider 配置侧重于提供从ID到底层ZoneRules的查找。

时区规则由*定义并经常变更。 有许多组织,这里称为组,它们监视时区变化并整理它们。 默认组是IANA时区数据库(TZDB)。 其他组织包括IATA(航空业机构)和微软。

每个组都为其提供的区域ID定义自己的格式。 TZDB组定义了诸如“Europe / London”或“America / New_York”之类的ID。 TZDB ID优先于其他组。

强烈建议将组名包含在TZDB以外的组提供的所有ID中,以避免冲突。 例如,IATA航空公司的时区区域ID通常与三字母机场代码相同。 但是,乌特勒支机场的代码为“UTC”,这显然是一种冲突。 来自TZDB以外的组的区域ID的推荐格式是“group~region”。 因此,如果定义了IATA数据,乌特勒支机场将是'IATA~UTC'。