Merge branch 'develop'
[BK-2020-03.git] / user / bkdatev
index b888d578ad690e8ce2e391083d57d5f32e8c20b4..22ff3103bdaeded393da434eec4d54af77e2d283 100755 (executable)
@@ -2,7 +2,7 @@
 # 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"
-# Version: 0.0.1
+# Version: 0.2.2
 # 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
 # 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
@@ -10,6 +10,7 @@
 #         * 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
 #         * Locations chosen for population, personal signifiance, and spatial coverage.
 #         * 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
 #         * Locations chosen for population, personal signifiance, and spatial coverage.
+#         * For International Atomic Time (TAI), use offsets from UTC provided in `/usr/share/zoneinfo/leap-seconds.list`.
 
 line_sep() {
     # Input: var: n_ln
 
 line_sep() {
     # Input: var: n_ln
@@ -43,6 +44,7 @@ print_dateline() {
     }; # print line of dates
 main() {
     n_ln=0; # for line_sep()
     }; # print line of dates
 main() {
     n_ln=0; # for line_sep()
+    unset LC_TIME; # Fall back to time zone-specific locale settings.
     
     # format strings
     fs_iso8601="+%Y-%m-%dT%H:%M:%S%:::z"; # typical ISO-8601
     
     # format strings
     fs_iso8601="+%Y-%m-%dT%H:%M:%S%:::z"; # typical ISO-8601
@@ -58,6 +60,7 @@ main() {
     (
         export TZ=UTC;
         id="UTC";
     (
         export TZ=UTC;
         id="UTC";
+        fs_3="+%s seconds since 1970-01-01T00:00+00";
         print_dateline "$@";
     ); line_sep;
 
         print_dateline "$@";
     ); line_sep;
 
@@ -253,6 +256,14 @@ main() {
         print_dateline "$@";
     ); line_sep;
 
         print_dateline "$@";
     ); line_sep;
 
+    # Taipei, Taiwan (pop (2019): 7,034,084)
+    (
+        export TZ=Asia/Taipei; # [3]
+        export LANG="zh_TW.UTF-8";
+        id="TAIPEI";
+        print_dateline "$@";
+    ); line_sep;    
+    
     # Tokyo, Japan (pop. (2018): 37,274,000)
     (
         export TZ=Asia/Tokyo;
     # Tokyo, Japan (pop. (2018): 37,274,000)
     (
         export TZ=Asia/Tokyo;
@@ -269,6 +280,14 @@ main() {
         print_dateline "$@";
     ); line_sep;
 
         print_dateline "$@";
     ); line_sep;
 
+    # Pyongyang, North Korea
+    (
+        export TZ=Asia/Pyongyang;
+        export LANG="ko_KP.UTF8";
+        id="PYONGYANG";
+        print_dateline "$@";
+    ); line_sep;
+    
     # Sydney, Australia
     (
         export TZ=Australia/Sydney;
     # Sydney, Australia
     (
         export TZ=Australia/Sydney;