【问题标题】:What's the point of using wordy Time Zones?使用冗长的时区有什么意义?
【发布时间】:2009-04-02 11:35:13
【问题描述】:

我知道这不是 PHP 特有的,但是使用这样列出的时区有什么意义:http://us2.php.net/manual/en/timezones.america.php?例如“America/Indianapolis”和“America/New_York”。 EST、EDT、CST、CDT 等有什么问题?

【问题讨论】:

    标签: php timezone


    【解决方案1】:

    'America/New_York' 不依赖于日期。 EST 仅在冬季有效,而在夏季您必须将其更改为 EDT。 3 个字母代码的另一个问题是存在冲突。 EST 表示东部标准时间,但它可能在美国或澳大利亚。

    【讨论】:

    • 我相信美国是东部标准时间 (EST),而澳大利亚是澳大利亚东部标准时间 (AEST)。但是,很可能存在其他缩写冲突。
    • «中部夏令时间 (CST) 或中部夏令时间 (CDT),可能带有“澳大利亚”前缀(ACST 或 ACDT)。东南各州的时间变为 UTC+11,时区名称中使用“Eastern”而不是“Central”,缩写为 EST、EDT、AEST 或 AEDT。»
    • «在国内语境中,领先的“澳大利亚人”经常被删除»
    • + 因为冲突问题是正确的。如果您阅读整个列表,则有很多。
    • 此外,除非您的设计具有明确的本地或区域范围,否则您应该避免使用缩写的时区首字母缩写词(iCalendar 将其称为“TZNAME”),并且应该使用更明确的“Area /Location”格式(iCalendar 将此称为“TZID”)。这里要小心,通常你的上下文是全局的,直到以后你才会意识到。
    【解决方案2】:

    这只是Zoneinfo database提供的different timezone format

    数据库中的时区是 给定统一的名称,例如 “America/New_York”,试图 让他们更容易理解 人类并消除歧义。

    【讨论】:

      【解决方案3】:

      城市的时区或夏令时开始/结束日期可能会发生变化(过去确实发生过),但城市可能会保持在同一位置。

      【讨论】:

        【解决方案4】:

        一个时区内的所有地区都不遵循相同的规则。例如,亚利桑那州不遵守夏令时。

        【讨论】:

          【解决方案5】:

          http://us2.php.net/date_default_timezone_set

          引自页面:注意:自 PHP 5.1.0(重写日期/时间函数时)以来,如果时区无效,每次调用日期/时间函数都会生成 E_NOTICE 和/或 E_STRICT如果使用系统设置或 TZ 环境变量,则显示消息。

          【讨论】:

            【解决方案6】:

            “America/Indianapolis”和“America/New_York”被称为 TZID(时区标识符),来自 tz database(也称为 zoneinfo 数据库 strong> 或 IANA 时区数据库Olson 数据库)。

            tz 数据库将世界划分为多个区域,其中本地时钟自 1970 年以来一直相同。

            这意味着在指定 TZID 时,您可以准确无误地确定自 1970 年 1 月 1 日以来世界上发生的任何本地事件 (Unix Epoch)。

            这与 Unix 时间戳一起看起来很方便。但是,请注意 32 位程序,因为它们会使用 year 2038 problem 报告负值。

            “EST”、“EDT”、“CST”和“CDT”通常是 The Microsoft Windows Time Zone Database 的缩写,并且由于它们不是唯一的而导致歧义(比较“中部标准时间”, “中部夏令时间”、“中国标准时间”和“古巴标准时间”)。

            更多优点/缺点在https://stackoverflow.com/tags/timezone/info 上给出。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2021-12-17
              • 2012-09-02
              • 1970-01-01
              • 2011-01-26
              • 2013-10-07
              • 1970-01-01
              • 1970-01-01
              • 2011-11-19
              相关资源
              最近更新 更多