the shaped rym rateyourmusic radiohead pablo moon kid honey computer bends amnesiac time groovy duration

time - shaped - Duraciones de tiempo maravilloso



rateyourmusic (2)

Si solo quieres encontrar la diferencia entre dos veces que te creas (por ejemplo, para ver cuánto tarda en ejecutarse algo) puedes usar:

import groovy.time.* def timeStart = new Date() // Some code you want to time def timeStop = new Date() TimeDuration duration = TimeCategory.minus(timeStop, timeStart) println duration

Si necesita trabajar específicamente con las fechas tal como se suministran como cadena anterior. Intente esto, primero el formato de ellos es un poco extraño, en particular el +01: 00, que es la zona horaria, espero que sea de +0100 para que el formato funcione. Podrías simplemente eliminar la zona horaria que acabo de reemplazar.

import groovy.time.* def start = Date.parse("yyy-MM-dd''T''HH:mm:ss.SSSZ","2010-10-07T22:15:33.110+01:00".replace("+01:00","+0100")) println start def end = Date.parse("yyy-MM-dd''T''HH:mm:ss.SSSZ","2010-10-07T22:19:52.356+01:00".replace("+01:00","+0100")) println end TimeDuration duration = TimeCategory.minus(end, start) println duration

Salidas

Thu Oct 07 15:15:33 MDT 2010 Thu Oct 07 15:19:52 MDT 2010 4 minutes, 19.246 seconds

Hola, estoy tratando de calcular la diferencia (duración) entre dos veces en Groovy. p.ej

start = "2010-10-07T22: 15: 33.110 + 01: 00" stop = "2010-10-07T22: 19: 52.356 + 01: 00"

Idealmente, me gustaría obtener la duración en horas, minutos, segundos, milisegundos.

¿Alguien por favor ayuda? He intentado usar las clases de duración de Groovy pero no he podido avanzar.

Gracias por tu ayuda.


Yo haria algo asi

def elapsedTime(Closure closure){ def timeStart = new Date() closure() def timeStop = new Date() TimeCategory.minus(timeStop, timeStart) }

Y entonces

TimeDuration timeDuration = elapsedTime { /*code you want to time*/ }