gpt4 book ai didi

timezone - 为什么为tzinfo使用城市时区而不是地区时区?

转载 作者:行者123 更新时间:2023-12-01 12:51:42 25 4
gpt4 key购买 nike

这个问题与tzinfo aka Olson时区数据库中的时区标准列表有关。

示例1:我注意到使用了America / New_York或America / Detroit(称为“典型城市”,请参阅http://www.w3.org/International/docs/timezones/#tzids)来代替US / Eastern。

示例2:在加拿大,山区时区通常被描述为America / Edmonton而不是Canada / Mountain。不列颠哥伦比亚省的部分地区在山区时间,但其时区指定为America / Edmonton(在艾伯塔省)。

在这些情况下,为什么要使用地区/示例城市选项而不是国家/地区版本?一定有一个首先创建国家/地区版本的原因,但是如果不是首选方式,为什么会存在该版本呢?

当一个国家有多个时区时,这通常是一个问题。

某处是否有最佳实践说明为什么一个人比另一个人更受青睐?

(P.S.对于Google来说,这是一个困难的问题,因为您会得到所有不相关或无益的结果。我能找到的最接近的东西是Daylight saving time and time zone best practices,但没有解决此问题。)

编辑:can 2 timezone be for 1 city?是“因为不是每个人都为其时区使用规范的大陆/城市表示法(例如,我倾向于使用较旧的美国/太平洋表示法-仍受支持,但等效于America / Los_Angeles)。”他关于“美国/太平洋”较旧的主张与我间接认为它较新的说法相矛盾,但仍然不是答案。

最佳答案

与Olson数据库一起分发的Theory文件包含以下信息:

时区规则文件的名称

时区规则文件命名约定试图达到平衡
以下目标之一:

  • 唯一地标识时钟所在的每个国家/地区
    自1970年达成一致。这对于预期的用途至关重要:静态
    保持当地民事时间的时钟。
  • 向人类指示该区域的位置。这简化了使用。
  • 在出现政治变化时要坚强。这减少了
    更新数量和向后兼容的黑客行为。例如,
    通常不使用国家名称,以避免
    国家更改名称时的不兼容性
    (例如扎伊尔·刚果)或位置更改的国家/地区
    (例如,从英国殖民地到中国的香港)。
  • 可移植到各种各样的实现中。
    这促进了技术的使用。
  • 在整个世界上使用一致的命名约定。
    这简化了使用和维护。

  • 此命名约定不适合经验不足的用户使用
    自行选择TZ值(尽管他们当然可以检查
    并重复使用现有设置)。发行人应提供
    文档和/或简单的选择界面,说明了
    名字;请参阅此发行版随附的“tzselect”程序
    一个例子。

    名称通常采用AREA / LOCATION形式,其中AREA是名称
    大陆或海洋,并且LOCATION是特定名称
    该区域内的位置。北美和南美共享相同
    地区,“美国”。典型名称为“非洲/开罗”,“美国/纽约”,
    和“太平洋/檀香山”。

    以下是用于选择位置名称的一般规则,
    按重要性从高到低的顺序:
  • 仅使用有效的POSIX文件名组件(即
    除“/”之外的其他名称)。在文件名组件中,
    仅使用ASCII字母“.”,“-”和“_”。不使用
    数字,因为这可能会与POSIX产生歧义
    TZ琴弦。文件名部分不能超过14
    字符或以“-”开头。例如,更喜欢“文莱”
    到“Bandar_Seri_Begawan”。
  • 每个国家/地区的每个时区规则集至少应包含一个位置。
    一个这样的位置就足够了。使用ISO 3166(请参阅文件
    iso3166.tab)以帮助确定某个国家/地区。
    但是,无人居住的ISO 3166地区(例如布韦岛)
    不需要位置,因为当地时间未定义。
  • 如果一个国家/地区的所有时钟自1970年以来都已达成协议,
    不要烦恼包括多个地点
    即使该次区域的时钟在1970年之前不一致。
    否则,这些表将变得非常大。
  • 如果名称不明确,请使用不太模糊的替代方式;
    例如许多城市被命名为圣何塞和乔治敦,所以
    将“Costa_Rica”替换为“San_Jose”,将“Guyana”替换为“Georgetown”。
  • 保持位置紧凑。使用城市或小岛,而不是国家
    或地区,以便将来的任何时区更改都不会分裂
    不同时区的位置。例如。喜欢“巴黎”
    到“法国”,因为法国有多个时区。
  • 使用主流英语拼写,例如比“罗马”更喜欢“罗马”,并且
    首选使用“雅典人”代替真实名称(使用希腊字母)。
    POSIX文件名限制鼓励使用此规则。
  • 在一个国家的时区中使用人口最多的位置,
    例如更喜欢“上海”而不是“北京”。在具有
    相似的人群,选择最知名的位置,
    例如倾向于“罗马”而不是“米兰”。
  • 使用单数形式,例如优先选择“金丝雀”而不是“金丝雀”。
  • 省略常见的后缀,例如“_Islands”和“_City”,除非那样
    会导致模棱两可。例如。更喜欢“开曼”
    从“开曼群岛”和“危地马拉”到“危地马拉城市”,
    但更喜欢使用“Mexico_City”而不是“Mexico”,因为该国家/地区
    墨西哥有几个时区。
  • 使用“_”表示一个空格。
  • 省略名称中的缩写“.”,例如喜欢“St_Helena”
    前往“圣海伦娜”。
  • 如果仅更改既定名称,请勿更改
    违反上述规则。例如,不要改变
    现有名称“罗马”改为“米兰”,仅仅是因为
    米兰的人口增长了一些
    比罗马的
  • 如果更改了名称,则将其旧拼写形式放入backward文件中。

  • 文件 zone.tab列出了用于命名的地理位置
    时区规则文件。它旨在作为详尽的清单
    地理区域的规范名称。

    请注意,在 tz@iana.org邮件列表中,最近有关于“上海优先于北京”指南的争议。

    关于timezone - 为什么为tzinfo使用城市时区而不是地区时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12009668/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com