Assuming your time is in the times.txt file, you can do this:
def parseDate = { str -> new Date().parse( 'H:m:s,S', str ) } def prevDate = null def deltas = [] use( groovy.time.TimeCategory ) { new File( 'times.txt' ).eachLine { line -> if( line ) { if( !prevDate ) { prevDate = parseDate( line ) } else { def nextDate = parseDate( line ) deltas << nextDate - prevDate prevDate = nextDate } } } } println deltas println( deltas.max { it.toMilliseconds() } )
What will print:
[1 hours, 19 minutes, 25.981 seconds, 1 hours, 11 minutes, 5.051 seconds] 1 hours, 19 minutes, 25.981 seconds
source share