/** * @return true if the {@code other} interval overlaps this interval with at least one day. */ public boolean overlaps(LocalDateInterval other) { // Either the other interval finishes before this interval starts... // .. or it starts after this interval finishes return !(other.endDate.before(this.startDate) || other.startDate.after(this.endDate)); }
public static int daysBetween(LocalDate x, LocalDate y) { assert !x.after(y); int days = -x.getDayOfYear(); int year = x.getYear(); while(year < y.getYear()) { if(YearValue.isLeapYear(year)) { days += 366; } else { days += 365; } year++; } return days + y.getDayOfYear(); }
@Test public void minDate() { LocalDate afterMinDate = new LocalDate(2017,01,01); assertTrue("Should be _after_ minimum date", afterMinDate.after(LocalDate.MIN_DATE)); LocalDate onMinDate = new LocalDate(1000,01,01); assertTrue("Should be _on_ minimum date", onMinDate.equals(LocalDate.MIN_DATE)); LocalDate beforeMinDate = new LocalDate(99,01,01); assertTrue("Should be _before_ minimum date", beforeMinDate.before(LocalDate.MIN_DATE)); }