как рассчитать разницу во времени в формате TimeDuration - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь рассчитать разницу между временами, необходимыми для выполнения конкретных задач. Например,

Date startpipeline = new Date()
// ...task 1...
Date stoppipeline = new Date()
TimeDuration task1 = TimeCategory.minus( stoppipeline, startpipeline )
print "time taken by task1 is " + task1

Делая выше, я выгляжу как 5 mins, 23 secs и т. Д. Аналогично

Date startpipeline2 = new Date()
// ...task2...
Date stoppipeline2 = new Date()
TimeDuration task2 = TimeCategory.minus( stoppipeline2, startpipeline2 )
print "time taken by task2 is " + task2

Делая выше, я получаю как 2 mins, 23 secs и т. Д.

Но для некоторых требований мне нужно вычислить разницу между обеими задачами, которые я пытался выполнить

TimeDuration diffbetween2task = TimeCategory.minus( task1, task2 )

, но это выдает ошибку. Он ожидает task1 и task2 в качестве формата даты. Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 14 октября 2019

используйте только task1 - task2

, потому что у класса TimeDuration есть метод minus.

import groovy.time.*

Date startpipeline = new Date()
Thread.sleep(1234)
Date stoppipeline = new Date()
TimeDuration task1 = TimeCategory.minus( stoppipeline, startpipeline )
println "time taken by task1 is " +task1


startpipeline = new Date()
Thread.sleep(2345)
stoppipeline = new Date()
TimeDuration task2 = TimeCategory.minus( stoppipeline, startpipeline )
println "time taken by task2 is " +task2


TimeDuration diff = task2-task1
println "diff " +diff

output:

time taken by task1 is 1.235 seconds
time taken by task2 is 2.345 seconds
diff 1.110 seconds
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...