是否有一个脚本可以在*nix终端上显示一个简单的世界时钟(世界各地的时间)?
我正在考虑编写一个快速的Python脚本,但我觉得这将比我想象的更多(例如由于配置和输出格式) - 更不用说重新发明轮子......
我有这个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"
从来没有想过,但不是很难做到.
#!/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;}'
给定输入文件:
US/Pacific Europe/London Europe/Paris Asia/Kolkatta Africa/Johannesburg Asia/Tokyo Asia/Shanghai
我得到了输出:
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
我很幸运,这需要不到一秒的时间才能完成并且没有超过1秒的界限.
(我没有注意到Kolkatta失败并违反GMT.我的系统仍有亚洲/加尔各答作为印度的入口.)