2015-06-12 59 views
0

我可以将UTC当前时间与“date -u”关联起来。 但我想同时打印一些常见时区的当前时间。 (UTC,EDT,CEST ...)显示大部分地区时区的当前时间(UTC,EDT,CEST ...)

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

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 
} 

回答

3

您可以指向TZ的时区,你想:

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

如果考虑到夏令时,那么这不是一个真正的通用解决方案。 – Arpith

+0

@Arpith我不确定我了解你的反对意见。时区会自动处理DST。比较f.i. 'TZ =欧洲/巴黎日期-d'2015年12月12日'到'TZ =欧洲/巴黎日期-d'2015年6月12日'。 – lcd047

1

在我dateutils有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偏移量和时间保证一致,即当前时间仅确定一次,然后用于所有时区转换。

相关问题