显示大多数公共时区的当前时间(UTC,EDT,CEST ...)

时间:2015-06-12 05:39:37

标签: linux bash date

我可以将UTC当前时间设置为" date -u"。 但我想同时打印一些常见时区的当前时间。 (UTC,EDT,CEST ......)

我可以创建一个脚本并添加几个:

date -u -d 'x hour ago'

但有时候,时间会发生变化。 (就像在法国) 是否有其他解决方案可以实现"真正的"当前时间,根据国家/城市而定?

编辑: 这就是我对答案所做的:

function dateall(){
    echo -n "US Pacific : " && TZ=US/Pacific date
    echo -n "US Eastern : " && TZ=US/Eastern date
    echo -n "UTC ~ GMT : " && date -u
    echo -n "Europe Paris : " && TZ=Europe/Paris date
    echo -n "Asia Bangkok : " && TZ=Asia/Bangkok date
}

2 个答案:

答案 0 :(得分:3)

您可以将TZ指向您想要的时区:

$ TZ=Europe/Paris date
Fri Jun 12 07:41:28 CEST 2015

答案 1 :(得分:1)

在我的日期中,datezone可以在一个简单的命令中执行您想要的操作:

$ datezone now Europe/Paris US/Pacific US/Eastern UTC
2015-06-12T08:23:32+02:00   Europe/Paris
2015-06-11T23:23:32-07:00   US/Pacific
2015-06-12T02:23:32-04:00   US/Eastern
2015-06-12T06:23:32+00:00   UTC
2015-06-12T13:23:32+07:00   Asia/Bangkok
$

还有一个额外的好处,即您还可以获得当前的UTC偏移量,并保证时间一致,即当前时间仅确定一次,然后用于所有时区转换。