- Note: In Bash 5.1, a negative length argument in a parameter
substitution (i.e. the `$len` in `${myVar:$start_idx:$len}`) causes
the last characters of the $myVar string to be truncated which is
convenient in various applications. However, a negative length in Bash
3.2.57 (a macOS machine I happen to have) throws an error; for
compatibility, I've instead added an additional arithemetical
operation to calculate the positive length that corresponds to a
truncation by 2 of the total string length.
# Desc: Baltakatei's verbose date command
# Usage: bkdatev [args]
# Example: bkdatev --date="2001-09-11T09:02:59-04"
-# Version: 0.3.0
+# Version: 0.3.1
# 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
#last2="$(rev <<< $ntz)" && last2="${last2:0:2}" && last2="$(rev <<< "$last2")";
if [[ "$last2" == "00" ]]; then
## ntz_out is truncated by 2 characters
- ntz_out="${ntz:0:-2}";
+ len_ntz="${#ntz}";
+ len_ntz_out="$(( len_ntz - 2 ))";
+ ntz_out=""${ntz:0:$len_ntz_out};
else
## ntz_out is ntz with semicolon inserted after HH
ntz_out="$(insertStr "$ntz" 3 ":" )";