Estou fazendo uma classe para contar os dias uteis mas fica dando o seguinte erro:
java.lang.IllegalArgumentException: No partial converter found for type: java.time.LocalDate
at org.joda.time.convert.ConverterManager.getPartialConverter(ConverterManager.java:253)
at org.joda.time.LocalDate.(LocalDate.java:415)
at br.com.b2w.entregas.model.TestData.tempoEntreDatas(TestData.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:436)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:170)
at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:166)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:113)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:58)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:112)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$2(HierarchicalTestExecutor.java:120)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:120)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$2(HierarchicalTestExecutor.java:120)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:120)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:55)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
------------------------------------------CLASSE------------------------------------------------------
DateTime dataInicial = new DateTime(2018, 07, 25, 0, 0);
DateTime dataFinal = new DateTime(2018, 07, 1, 0, 0);
int diasTotal = Days.daysBetween(dataInicial, dataFinal).getDays();
HolidayManager gerenciadorDeFeriados = HolidayManager.getInstance(de.jollyday.HolidayCalendar.BRAZIL);
Set<Holiday> feriados = gerenciadorDeFeriados.getHolidays(new DateTime().getYear());
Set<LocalDate> dataDosFeriados = new HashSet<LocalDate>();
for (Holiday h : feriados) {
dataDosFeriados.add(new LocalDate(h.getDate(), ISOChronology.getInstance()));
}
// popula com os feriados brasileiros
HolidayCalendar<LocalDate> calendarioDeFeriados
= new DefaultHolidayCalendar<LocalDate>(dataDosFeriados);
LocalDateKitCalculatorsFactory.getDefaultInstance()
.registerHolidays("BR", calendarioDeFeriados);
DateCalculator<LocalDate> calendario =
LocalDateKitCalculatorsFactory.getDefaultInstance().
getDateCalculator("BR", HolidayHandlerType.FORWARD);
int diasNaoUteis = 0;
LocalDate dataInicialTemporaria = new LocalDate(dataInicial);
LocalDate dataFinalTemporaria = new LocalDate(dataFinal);
while (!dataInicialTemporaria.isAfter(dataFinalTemporaria)) {
if (calendario.isNonWorkingDay(dataInicialTemporaria)) {
diasNaoUteis++;
}
dataInicialTemporaria = dataInicialTemporaria.plusDays(1);
}
System.out.println(diasTotal-diasNaoUteis); DateTime dataInicial = new DateTime(2018, 07, 25, 0, 0);
DateTime dataFinal = new DateTime(2018, 07, 1, 0, 0);
int diasTotal = Days.daysBetween(dataInicial, dataFinal).getDays();
HolidayManager gerenciadorDeFeriados = HolidayManager.getInstance(de.jollyday.HolidayCalendar.BRAZIL);
Set<Holiday> feriados = gerenciadorDeFeriados.getHolidays(new DateTime().getYear());
Set<LocalDate> dataDosFeriados = new HashSet<LocalDate>();
for (Holiday h : feriados) {
dataDosFeriados.add(new LocalDate(h.getDate(), ISOChronology.getInstance()));
}
// popula com os feriados brasileiros
HolidayCalendar<LocalDate> calendarioDeFeriados
= new DefaultHolidayCalendar<LocalDate>(dataDosFeriados);
LocalDateKitCalculatorsFactory.getDefaultInstance()
.registerHolidays("BR", calendarioDeFeriados);
DateCalculator<LocalDate> calendario =
LocalDateKitCalculatorsFactory.getDefaultInstance().
getDateCalculator("BR", HolidayHandlerType.FORWARD);
int diasNaoUteis = 0;
LocalDate dataInicialTemporaria = new LocalDate(dataInicial);
LocalDate dataFinalTemporaria = new LocalDate(dataFinal);
while (!dataInicialTemporaria.isAfter(dataFinalTemporaria)) {
if (calendario.isNonWorkingDay(dataInicialTemporaria)) {
diasNaoUteis++;
}
dataInicialTemporaria = dataInicialTemporaria.plusDays(1);
}
System.out.println(diasTotal-diasNaoUteis);