diff options
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 |