diff options
author | xyz <gky44px1999@gmail.com> | 2022-05-08 19:41:30 -0700 |
---|---|---|
committer | xyz <gky44px1999@gmail.com> | 2022-05-08 19:41:30 -0700 |
commit | 58539942dedfcf3ddd71d5dccb9ef3d13a95f55a (patch) | |
tree | 27ec03a0d8762bc9845224a3c45a59c5a9f832d4 /home | |
parent | b957330202c2b8d32ea94714c633f534b0a7e8af (diff) |
new dateft script, print date in different timezones
Diffstat (limited to 'home')
-rwxr-xr-x | home/xyz/.local/bin/dateft | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/home/xyz/.local/bin/dateft b/home/xyz/.local/bin/dateft new file mode 100755 index 00000000..8332dfb2 --- /dev/null +++ b/home/xyz/.local/bin/dateft @@ -0,0 +1,30 @@ +#!/bin/sh +# DATE From To + +while getopts cfF:t:T: opt; do + case $opt in + c) tz_from="Asia/Shanghai";; + f) tz_from="$(tzselect)";; + F) tz_from="$OPTARG";; + t) for i in $(seq "$OPTARG"); do + tz_to="$tz_to,$(tzselect)" + done;; + T) tz_to="$OPTARG";; + \?) exit 1;; + esac +done +shift $((OPTIND-1)) + +time_from="TZ=\"${tz_from:-$(readlink /etc/localtime | sed 's#.*/\(.*/.*\)$#\1#')}\" ${1:-now}" + +date -d "$time_from" +TZ="Asia/Shanghai" date -d "$time_from" +date -d "$time_from" -u +date -d "$time_from" +%s +if [ "$tz_from" ] && [ "$tz_from" != "Asia/Shanghai" ]; then + TZ="$tz_from" date -d "$time_from" +fi +IFS=',' +for tz in $tz_to; do + TZ="$tz" date -d "$time_from" +done |