summaryrefslogtreecommitdiff
path: root/subtimes
blob: 7eda175cfd07d059e0d06e7af6990adb520a1218 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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 -lt 0 ]
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 -lt 0 ]
do
  ut=$[$ut+1]
  sd=$[$sd+60]
done
md=$[${m[1]}-${m[2]}-$ut]
ut=0
while [ $md -lt 0 ]
do
  ut=$[$ut+1]
  md=$[$md+60]
done
hd=$[${h[1]}-${h[2]}-$ut]

echo $hd":"$md":"$sd"."$fd