Timestamp comparison

Hi all, below is my sample log file

02.20.38 .CASH_I_0069 RPM_RUN_DISTRIBUTION RPM_RUN_DISTRIBUTION 0001 1987 Started at 02.19.11 at node IEREDS17, Pid = 00492972
02.50.39 .CASH_I_0054 RPM_RUN_DISTRIBUTION RPM_RUN_DISTRIBUTION 0001 1987 Completed at 02.49.13, code: 00000000 at node IEREDS17, Pid = 00492972
01.50.34 .CASH_I_0069 RPM_RUN_DISTRIBUTION RPM_RUN_DISTRIBUTION 0001 1986 Started at 01.49.07 at node IEREDS17, Pid = 00492970
02.20.36 .CASH_I_0054 RPM_RUN_DISTRIBUTION RPM_RUN_DISTRIBUTION 0001 1986 Completed at 02.19.09, code: 00000000 at node IEREDS17, Pid = 00492970

as you can see from above the 1st column is the time stamp in hh.mm.ss format (Start time and end time). I am required to create a script:

which finds out the difference between the two and reports the Start time(s) and End time(s) wherever the difference exceeds 15 minutes.

I have tried using the below mentioned script but am not able to advance further. (am stuck with what logic to be used)

#! /usr/bin/awk -f

$7 ~ /Started/ {
m=split($1,st_split,".")}

$7 ~ /Completed/ {
n=split($1,et_split,".")}

PS: my log file contains around 40 lines.

hope this problem is cleaer. please help. thanks in advance

Try...

#! /usr/bin/awk -f

$7 ~ /Started/ {
  m=split($1,st_split,".")}

$7 ~ /Completed/ {
  n=split($1,et_split,".")
  st = (st_split[1]*60*60) + (st_split[2]*60) + st_split[3]
  et = (et_split[1]*60*60) + (et_split[2]*60) + et_split[3]
  d = et - st
  if ( d < 0 ) {
    d += 24*60*60
  }
  if ( d > (15*60)) {
    printf "Duration %02d.%02d.%02s: %s\n", d/60/60, d/60%60, d%60, $0
  }
}