我知道ET(东部时间)具有来自EST和EDT的dst,但是我在不同编程语言的不同库中寻找该时区,而ET不是一种选择,但是EST5EDT是。
谢谢。
简短答案:不,它们不等,因为EST5EDT
没有美国东部时间已经过去的任何变化历史。改用America/New_York
,它可以。
更长的答案:
EST5EDT
是 posix时区定义,可以在许多系统上的TZ
环境变量中使用。该格式在Linux man tz
和GNU文档以及IBM的本文中进行了描述。EST5EDT
的所有信息都告诉您,标准时间是UTC-5和标记为EST
,日光时间为UTC-4,并标记为EDT
。就是这样。
随着计算机系统的发展,POSIX时区显然没有足够的信息来正确跟踪世界的时区。例如,考虑美国DST的历史,其中最后一次变化发生在2007年,将日光延长了5周。POSIX定义不能表示此类数据,导致转换错误。
因此,现在首选的机制是使用IANA TZ数据库中的时区标识符(也称为" Olson"或" Zoneinfo")。在此数据库中,美国东部时间由标识符America/New_York
表示。它还具有US/Eastern
的别名,您可以在大多数库中使用(JavaScript,Python等)。您可以在此处找到标识符的完整列表。
您可能会注意到EST5EDT
与EST
一样出现为标识符之一,但不像EDT
一样。这些是历史的工件,这是由于TZ数据库中的某些标识符需要向后与POSIX时区定义兼容。您现在应该考虑这些弃用,仅使用Area/Locality
标识符的形式。