X-Git-Url: https://zdv2.bktei.com/gitweb/BK-2020-03.git/blobdiff_plain/30d714712a8a9e3622b063c52a67b65fd7c51e0a..4a0d0e9acd5d9a1cc7612dbcdb87452f888e4423:/user/bkdatev diff --git a/user/bkdatev b/user/bkdatev index 808ab9e..fb0b96c 100755 --- a/user/bkdatev +++ b/user/bkdatev @@ -2,12 +2,12 @@ # Desc: Baltakatei's verbose date command # Usage: bkdatev [args] # Example: bkdatev --date="2001-09-11T09:02:59-04" -# Version: 1.0.1 -# Depends: GNU Coreutils 8.32, Bash 3.2.57 +# Version: 1.0.4 +# Depends: GNU Coreutils 8.32, Bash 3.2.57, tzdata-legacy # Ref/Attrib: [1] "ISO 8601". Wikipedia. https://en.wikipedia.org/wiki/ISO_8601 # [2] "Changing the Locale in Wine" https://stackoverflow.com/a/16428951 # [3] "Shanghai vs Beijing" https://bugs.launchpad.net/ubuntu/+source/libgweather/+bug/228554 -# [4] “"right" tz database (zoneinfo) files and GPS-based NTP” https://www.ucolick.org/~sla/leapsecs/right+gps.html +# [4] “Understanding the "right" time zone database” https://kenta.blogspot.com/2016/03/sqfzcxay-understanding-right-time-zone.html # Notes: * Check `ls -R /usr/share/zoneinfo` for time zone names. # * Check `cat /usr/share/i18n/SUPPORTED` for supported locales. # * For list of valid locales, see: https://manpages.ubuntu.com/manpages/bionic/man3/DateTime::Locale::Catalog.3pm.html @@ -144,9 +144,16 @@ main() { # UTC (pop. (2021): 7,837,000,000) ( - export TZ=right/UTC; # See [4] + export TZ=UTC; id="UTC"; - fs_3="+%s seconds since 1970-01-01T00:00+00"; + path_right_tz="/usr/share/zoneinfo/right/UTC"; + if [[ -f "$path_right_tz" ]]; then + date_string="$(date -Is "$@"; )"; + right_epoch="$(TZ=right/UTC date --date="$date_string" +%s;)"; # see [4] + fs_3="+%s POSIX seconds (${right_epoch} real) since 1970-01-01T00:00+00"; + else + fs_3="+%s POSIX seconds since 1970-01-01T00:00+00"; + fi; print_dateline "$@"; ); line_sep;