<dependencies>
<dependency>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>3.0.8</version>
</dependency>
</dependencies>
groovy
import java.time.LocalDate
import java.time.format.DateTimeFormatter
class DateUtils {
static String getCurrentDate() {
LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))
}
static int calculateDaysBetweenDates(String date1, String date2) {
LocalDate.parse(date1, DateTimeFormatter.ofPattern("yyyy-MM-dd")).until(LocalDate.parse(date2, DateTimeFormatter.ofPattern("yyyy-MM-dd"))).days
}
static LocalDate parseDateString(String date, String pattern) {
LocalDate.parse(date, DateTimeFormatter.ofPattern(pattern))
}
}
import groovy.lang.Binding
import groovy.util.GroovyScriptEngine
public class Main {
public static void main(String[] args) throws Exception {
Binding binding = new Binding();
GroovyScriptEngine scriptEngine = new GroovyScriptEngine(new String[]{"path/to/groovy/scripts/"});
binding.setVariable("dateUtils", new DateUtils());
scriptEngine.run("Main.groovy", binding);
}
}