@Override public double calculateYearFraction(LocalDate firstDate, LocalDate secondDate, ScheduleInfo scheduleInfo) { return daysBetween(firstDate, secondDate) / 365.25d; }
@Override public double calculateYearFraction(LocalDate firstDate, LocalDate secondDate, ScheduleInfo scheduleInfo) { return daysBetween(firstDate, secondDate) / 360d; }
@Override public double calculateYearFraction(LocalDate firstDate, LocalDate secondDate, ScheduleInfo scheduleInfo) { return daysBetween(firstDate, secondDate) / 365d; }
@Override public double calculateYearFraction(LocalDate firstDate, LocalDate secondDate, ScheduleInfo scheduleInfo) { return daysBetween(firstDate, secondDate) / 364d; }
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); return toIntExact(actualDays); } },
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); return toIntExact(actualDays); } },
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); return toIntExact(actualDays); } },
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); return toIntExact(actualDays); } },
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); return toIntExact(actualDays); } },
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); return toIntExact(actualDays); } },
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); return toIntExact(actualDays); } },
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); return toIntExact(actualDays); } },
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); return toIntExact(actualDays); } },
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); return toIntExact(actualDays); } },
@Override public int daysBetween(LocalDate startInclusive, LocalDate endExclusive) { return Math.toIntExact(LocalDateUtils.daysBetween(startInclusive, endExclusive)); }
@Override public double calculateYearFraction(LocalDate firstDate, LocalDate secondDate, ScheduleInfo scheduleInfo) { long actualDays = daysBetween(firstDate, secondDate); LocalDate nextLeap = DateAdjusters.nextLeapDay(firstDate); return actualDays / (nextLeap.isAfter(secondDate) ? 365d : 366d); }
@Override public double calculateYearFraction(LocalDate firstDate, LocalDate secondDate, ScheduleInfo scheduleInfo) { LocalDate startDate = firstDate; int yearsAdded = 0; while (secondDate.compareTo(startDate.plusYears(1)) > 0) { startDate = firstDate.plusYears(++yearsAdded); } double actualDays = daysBetween(startDate, secondDate); double actualDaysInYear = daysBetween(startDate, startDate.plusYears(1)); return yearsAdded + (actualDays / actualDaysInYear); }
@Override public int calculateDays(LocalDate firstDate, LocalDate secondDate) { long actualDays = daysBetween(firstDate, secondDate); int numberOfLeapDays = 0; LocalDate temp = DateAdjusters.nextLeapDay(firstDate); while (temp.isAfter(secondDate) == false) { numberOfLeapDays++; temp = DateAdjusters.nextLeapDay(temp); } return toIntExact(actualDays) - numberOfLeapDays; } },
@Override public double calculateYearFraction(LocalDate firstDate, LocalDate secondDate, ScheduleInfo scheduleInfo) { long actualDays = daysBetween(firstDate, secondDate); int numberOfLeapDays = 0; LocalDate temp = DateAdjusters.nextLeapDay(firstDate); while (temp.isAfter(secondDate) == false) { numberOfLeapDays++; temp = DateAdjusters.nextLeapDay(temp); } return (actualDays - numberOfLeapDays) / 365d; }
public void test_daysBetween() { LocalDate base = LocalDate.of(2012, 1, 1); LocalDate date = base; for (int i = 0; i < 366 * 8; i++) { assertEquals(LocalDateUtils.daysBetween(base, date), date.toEpochDay() - base.toEpochDay()); date = date.plusDays(1); } }