我想看看时间
美国华盛顿特区东部夏令时时区 (GMT-4) 2019 年 5 月 9 日星期四晚上 8:11
然而,
$ TZ="EDT" date
Fri May 10 00:12:25 EDT 2019
“EST”工作正常
$ TZ="EST" date
Thu May 9 19:13:11 EST 2019
有什么问题?
我想看看时间
美国华盛顿特区东部夏令时时区 (GMT-4) 2019 年 5 月 9 日星期四晚上 8:11
然而,
$ TZ="EDT" date
Fri May 10 00:12:25 EDT 2019
“EST”工作正常
$ TZ="EST" date
Thu May 9 19:13:11 EST 2019
有什么问题?
date
命令不知道“EDT”时区。如果在 TZ 中传递了不支持的时区,则输出确实会显示输入的时区,但显示的时间将是 UTC。支持的时区在/usr/share/zoneinfo/中列出。截至目前,可用作“TZ”值的时区是:
EDT 的时区是“EST5EDT”。
TZ="EST5EDT" date
截至 2019 年 5 月 10 日 02:11:26 UTC的输出:或者在使用 EDT 的地方使用城市名称。示例:美国/肯塔基/路易斯维尔、美国/肯塔基/蒙蒂塞洛、美国/纽约、加拿大/东部等。
为什么 EDT 是 EST5EDT?
简而言之,它是一个标准。时区的写法类似于Timezone-Offset。这里-是减号,或者可以说,在 UTC 之前的时区写成Timezone-Offset,对于 UTC 之后的时区,它写成TimezoneOffset。如果时区有一个漂亮的名字,比如东部标准时间,它可以写成EST或EST5。两者都会产生相同的结果。
现在,并非所有地方(例如印度)都采用夏令时 (DST)。对于观察到的时区,时区写为Timezone-OffsetTimezoneDST,例如:EET-2EETDST(塞浦路斯)但如果 DST 有一个花哨的名称,如 BST(英国夏令时),它写为Timezone-OffsetFancy_name,即GMT0BST . 同样,EDT是EST5EDT。在此 Oracle 文档中,您可以看到所有标准化时区。
EDT
在国际上考虑时是模棱两可的。你可以通过做得到你正在寻找的时间