дата для отображения времени EDT

Я хочу проверить время

Часовой пояс восточного летнего времени в Вашингтоне, округ Колумбия, США (GMT-4) Четверг, 9 мая 2019 года, 20:11

Однако,

$ TZ="EDT" date
Fri May 10 00:12:25 EDT 2019

«EST» работает правильно

$ TZ="EST" date
Thu May  9 19:13:11 EST 2019

В чем проблема?

4
задан 10 May 2019 в 05:28

2 ответа

date команда не знает часовой пояс «EDT». Если часовой пояс, который не поддерживается, передается в TZ, выходной сигнал действительно будет отображаться с введенным часовым поясом, но показанное время будет UTC.

Поддерживаемые часовые пояса перечислены в / usr / share / zoneinfo / . В настоящее время часовыми поясами, которые могут использоваться в качестве значения для «TZ», являются:

Africa      Cuba     GMT0         Japan              Pacific     Turkey
America     EET      GMT-0        Kwajalein          Poland      UCT
Antarctica  Egypt    GMT+0        leap-seconds.list  Portugal    Universal
Arctic      Eire     Greenwich    Libya              posix       US
Asia        EST      Hongkong     localtime          posixrules  UTC
Atlantic    EST5EDT  HST          MET                PRC         WET
Australia   Etc      Iceland      Mexico             PST8PDT     W-SU
Brazil      Europe   Indian       MST                right       zone1970.tab
Canada      Factory  Iran         MST7MDT            ROC         zone.tab
CET         GB       iso3166.tab  Navajo             ROK         Zulu
Chile       GB-Eire  Israel       NZ                 Singapore
CST6CDT     GMT      Jamaica      NZ-CHAT            SystemV

Часовой пояс для EDT - «EST5EDT». Выходные данные TZ="EST5EDT" date по состоянию на 10 мая 2019 года 02:11:26 UTC:

Thu May  9 22:11:26 EDT 2019

Или используйте название города, где используется EDT. Примеры: Америка / Кентукки / Луисвилл, Америка / Кентукки / Монтиселло, Америка / Нью-Йорк, Канада / Восточная и т. Д.

Почему EDT - это EST5EDT?

Короче говоря, это стандарт. Часовые пояса записываются как Timezone-Offset . Здесь - - минус, или можно сказать, что для часовых поясов, которые находятся перед UTC, написано, как Timezone-Offset , и для часовых поясов, которые находятся за UTC, записывается как TimezoneOffset . Если у часового пояса есть красивое имя, например Восточное стандартное время, его можно записать как EST или EST5 . Оба будут давать одинаковые результаты.

Сейчас летнее время (DST) встречается не везде (например, в Индии). Для часовых поясов, где это наблюдается, часовые пояса записываются как Timezone-OffsetTimezoneDST , например: EET-2EETDST (Кипр), но если DST имеет причудливое имя, такое как BST (британское летнее время), оно записывается как Timezone-OffsetFancy_name , то есть GMT0BST . Similary, EDT является EST5EDT . В этом документе Oracle вы можете видеть все стандартизированные часовые пояса.

0
ответ дан 10 May 2019 в 05:28

EDT неоднозначно, когда рассматривается на международном уровне. Вы можете получить время, которое вы ищете, выполнив

$ TZ="America/New_York" date
Thu May  9 22:11:16 EDT 2019
0
ответ дан 10 May 2019 в 05:28

Другие вопросы по тегам:

Похожие вопросы: