feat(user/bksum):Add wait option for timestamps
[BK-2020-03.git] / unitproc / bktemp-timeUntilNextDay
index 35c4893f7438c5231e3e8f6635691354cbbac83f..ae7562ab556effbdb617585e1ba79bc25822d19c 100644 (file)
@@ -8,29 +8,28 @@ die() { yell "$*"; exit 111; }
 try() { "$@" || die "cannot $*"; }
 timeUntilNextDay(){
     # Desc: Report seconds until next day.
 try() { "$@" || die "cannot $*"; }
 timeUntilNextDay(){
     # Desc: Report seconds until next day.
-    # Version: 1.0.0
+    # Version: 1.0.3
     # Output: stdout: integer seconds until next day
     # Output: exit code 0 if stdout > 0; 1 if stdout = 0; 2 if stdout < 0
     # Usage: timeUntilNextDay
     # Usage: if ! myTTL="$(timeUntilNextDay)"; then yell "ERROR in if statement"; exit 1; fi
     # Depends: date 8, echo 8, yell, try
     
     # Output: stdout: integer seconds until next day
     # Output: exit code 0 if stdout > 0; 1 if stdout = 0; 2 if stdout < 0
     # Usage: timeUntilNextDay
     # Usage: if ! myTTL="$(timeUntilNextDay)"; then yell "ERROR in if statement"; exit 1; fi
     # Depends: date 8, echo 8, yell, try
     
-    local returnState TIME_CURRENT TIME_NEXT_DAY SECONDS_UNTIL_NEXT_DAY
-
-    TIME_CURRENT="$(date --iso-8601=seconds)" ; # Produce `date`-parsable current timestamp with resolution of 1 second.
-    TIME_NEXT_DAY="$(date -d "$TIME_CURRENT next day" --iso-8601=date)"; # Produce timestamp of beginning of tomorrow with resolution of 1 second.
-    SECONDS_UNTIL_NEXT_DAY="$(( $(date +%s -d "$TIME_NEXT_DAY") - $(date +%s -d "$TIME_CURRENT") ))" ; # Calculate seconds until closest future midnight (res. 1 second).
-    if [[ "$SECONDS_UNTIL_NEXT_DAY" -gt 0 ]]; then
+    local returnState timeCurrent timeNextDay secondsUntilNextDay
+    timeCurrent="$(date --iso-8601=seconds)" ; # Produce `date`-parsable current timestamp with resolution of 1 second.
+    timeNextDay="$(date -d "$timeCurrent next day" --iso-8601=date)"; # Produce timestamp of beginning of tomorrow with resolution of 1 second.
+    secondsUntilNextDay="$(( $(date +%s -d "$timeNextDay") - $(date +%s -d "$timeCurrent") ))" ; # Calculate seconds until closest future midnight (res. 1 second).
+    if [[ "$secondsUntilNextDay" -gt 0 ]]; then
        returnState="true";
        returnState="true";
-    elif [[ "$SECONDS_UNTIL_NEXT_DAY" -eq 0 ]]; then
+    elif [[ "$secondsUntilNextDay" -eq 0 ]]; then
        returnState="warning_zero";
        yell "WARNING:Reported time until next day exactly zero.";
        returnState="warning_zero";
        yell "WARNING:Reported time until next day exactly zero.";
-    elif [[ "$SECONDS_UNTIL_NEXT_DAY" -lt 0 ]]; then
+    elif [[ "$secondsUntilNextDay" -lt 0 ]]; then
        returnState="warning_negative";
        yell "WARNING:Reported time until next day is negative.";
     fi
 
        returnState="warning_negative";
        yell "WARNING:Reported time until next day is negative.";
     fi
 
-    try echo "$SECONDS_UNTIL_NEXT_DAY"; # Report
+    try echo "$secondsUntilNextDay"; # Report
     
     # Determine function return code
     if [[ "$returnState" = "true" ]]; then
     
     # Determine function return code
     if [[ "$returnState" = "true" ]]; then