summaryrefslogtreecommitdiff
path: root/addtimes
diff options
context:
space:
mode:
Diffstat (limited to 'addtimes')
-rwxr-xr-xaddtimes59
1 files changed, 59 insertions, 0 deletions
diff --git a/addtimes b/addtimes
new file mode 100755
index 0000000..cc90901
--- /dev/null
+++ b/addtimes
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+# subtimes t1 t2
+# -> "t1-t2"
+
+for i in {1..2}
+do
+ inp=$(echo "${@:i:1}" | sed "s/^ *//" | sed "s/ *#.*$//")
+ p1=$(echo "$inp" | tr ":" " " | awk '{print $1}')
+ p2=$(echo "$inp" | tr ":" " " | awk '{print $2}')
+ p3=$(echo "$inp" | tr ":" " " | awk '{print $3}')
+ for j in {1..2}
+ do
+ if [ "$p3" == "" ]
+ then
+ p3=$p2
+ p2=$p1
+ p1="0"
+ fi
+ done
+ p4=$(echo $p3 | tr "." " " | awk '{print $2}')
+ while [ ${#p4} -lt 6 ]
+ do
+ p4=${p4}"0"
+ done
+ f[$i]=$(echo $p4 | sed "s/^0*//" | sed "s/^$/0/")
+ s[$i]=$(echo $p3 | tr "." " " | awk '{print $1}' | sed "s/^0*//" | sed "s/^$/0/")
+ m[$i]=$(echo $p2 | sed "s/^0*//" | sed "s/^$/0/")
+ h[$i]=$(echo $p1 | sed "s/^0*//" | sed "s/^$/0/")
+done
+
+fd=$[${f[1]}+${f[2]}]
+ut=0
+while [ $fd -ge 1000000 ]
+do
+ ut=$[$ut+1]
+ fd=$[$fd-1000000]
+done
+while [ ${#fd} -lt 6 ]
+do
+ fd="0"$fd
+done
+sd=$[${s[1]}+${s[2]}+$ut]
+ut=0
+while [ $sd -ge 60 ]
+do
+ ut=$[$ut+1]
+ sd=$[$sd-60]
+done
+md=$[${m[1]}+${m[2]}+$ut]
+ut=0
+while [ $md -ge 60 ]
+do
+ ut=$[$ut+1]
+ md=$[$md-60]
+done
+hd=$[${h[1]}+${h[2]}+$ut]
+
+echo $hd":"$md":"$sd"."$fd