summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
30d7147)
- Note: UTC unix epoch is seconds since 1970-01-01 without leap
seconds
- Note: right/UTC unix epoch is seconds since 1970-01-01 *with*
leap seconds.
# Desc: Baltakatei's verbose date command
# Usage: bkdatev [args]
# Example: bkdatev --date="2001-09-11T09:02:59-04"
# Desc: Baltakatei's verbose date command
# Usage: bkdatev [args]
# Example: bkdatev --date="2001-09-11T09:02:59-04"
# Depends: GNU Coreutils 8.32, Bash 3.2.57
# 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
# Depends: GNU Coreutils 8.32, Bash 3.2.57
# 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
# 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
# UTC (pop. (2021): 7,837,000,000)
(
# UTC (pop. (2021): 7,837,000,000)
(
- export TZ=right/UTC; # See [4]
- fs_3="+%s seconds since 1970-01-01T00:00+00";
+ date_string="$(date -Is)";
+ right_epoch="$(TZ=right/UTC date --date="$date_string" +%s;)"; # see [4]
+ fs_3="+%s seconds (${right_epoch} with leap seconds) since 1970-01-01T00:00+00";
print_dateline "$@";
); line_sep;
print_dateline "$@";
); line_sep;