В groovy все, что вам нужно, это:
date2 - date1
, который возвращает целое число, представляющее количество дней между двумя датами.
Или если вам необходимо защититься от изменения порядка между двумя экземплярами Date (операция возвращает отрицательные числа, когда первый операнд предшествует второму):
Math.abs(date2 - date1)
Приведенные выше примерыиспользуйте реализацию оператора groovy date.minus (date) , которая возвращает количество дней между двумя датами.
Пример сеанса groovy shell:
$ groovysh
Groovy Shell (2.4.8, JVM: 1.8.0_111)
Type ':help' or ':h' for help.
groovy:000> x = new Date(1486382537168)
===> Mon Feb 06 13:02:17 CET 2017
groovy:000> y = new Date(1486000000000)
===> Thu Feb 02 02:46:40 CET 2017
groovy:000> x - y
===> 4
или, если вам нужен метод:
int daysBetween(date1, date2) {
Math.abs(date2 - date1)
}