8 python timezone command-line-interface
是否有一个脚本可以在*nix终端上显示一个简单的世界时钟(世界各地的时间)?
我正在考虑编写一个快速的Python脚本,但我觉得这将比我想象的更多(例如由于配置和输出格式) - 更不用说重新发明轮子......
Dus*_*tin 17
我有这个bourne shell脚本:
#!/bin/sh
PT=`env TZ=US/Pacific date`
CT=`env TZ=US/Central date`
AT=`env TZ=Australia/Melbourne date`
echo "Santa Clara $PT"
echo "Central $CT"
echo "Melbourne $AT"
Run Code Online (Sandbox Code Playgroud)
从来没有想过,但不是很难做到.
#!/bin/sh
# Command-line world clock
: ${WORLDCLOCK_ZONES:=$HOME/etc/worldclock.zones}
: ${WORLDCLOCK_FORMAT:='+%Y-%m-%d %H:%M:%S %Z'}
while read zone
do echo $zone '!' $(TZ=$zone date "$WORLDCLOCK_FORMAT")
done < $WORLDCLOCK_ZONES |
awk -F '!' '{ printf "%-20s %s\n", $1, $2;}'
Run Code Online (Sandbox Code Playgroud)
给定输入文件:
US/Pacific
Europe/London
Europe/Paris
Asia/Kolkatta
Africa/Johannesburg
Asia/Tokyo
Asia/Shanghai
Run Code Online (Sandbox Code Playgroud)
我得到了输出:
US/Pacific 2008-12-15 15:58:57 PST
Europe/London 2008-12-15 23:58:57 GMT
Europe/Paris 2008-12-16 00:58:57 CET
Asia/Kolkatta 2008-12-15 23:58:57 GMT
Africa/Johannesburg 2008-12-16 01:58:57 SAST
Asia/Tokyo 2008-12-16 08:58:57 JST
Asia/Shanghai 2008-12-16 07:58:57 CST
Run Code Online (Sandbox Code Playgroud)
我很幸运,这需要不到一秒的时间才能完成并且没有超过1秒的界限.
(我没有注意到Kolkatta失败并违反GMT.我的系统仍有亚洲/加尔各答作为印度的入口.)
小智 1
如果您仍然想用 Python 编写,请考虑 Pytz:
他们的首页向您展示了许多简单的方法来完成您正在寻找的事情。
也就是说,我确信如果您在 Google 上花几分钟,您会发现大量脚本,其中一些甚至可以为 *nix 启动图形程序。“python 世界时钟”的第一个结果列表似乎仅表明了这一点。