date to display the EDT time

date command doesn't know "EDT" timezone. If a timezone which isn't supported is passed in TZ the output will indeed show with entered time zone but time shown will be UTC.

Supported time zones are listed in /usr/share/zoneinfo/. As of now time zones that can be used as a value for "TZ" are:

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

The time zone for EDT is "EST5EDT". The output of TZ="EST5EDT" date as of 10 May 2019 02:11:26 UTC:

Thu May  9 22:11:26 EDT 2019

Or use city's name where EDT is used. Examples: America/Kentucky/Louisville, America/Kentucky/Monticello, America/New_York, Canada/Eastern, etc.

Why EDT is EST5EDT?

In short, it is a standard. Time zones are written like Timezone-Offset. Here - is minus or it can be said for time zones which are ahead of UTC are written like Timezone-Offset and for time zones that are behind UTC, it is written as TimezoneOffset. If the time zone has a pretty name like Eastern Standard Time, it can be written as EST or EST5. Both will produce same results.

Now, Daylight Saving Time (DST) isn't observed everywhere (for example, India). For time zones where it is observed, time zones are written as Timezone-OffsetTimezoneDST, example: EET-2EETDST (Cyprus) but if DST has a fancy name like BST (British Summer Time), it is written as Timezone-OffsetFancy_name, i.e. GMT0BST. Similary, EDT is EST5EDT. On this Oracle document you can see all standardized time zones.


EDT is ambiguous when considered internationally. You can get the time you are seeking by doing

$ TZ="America/New_York" date
Thu May  9 22:11:16 EDT 2019