Ich möchte feststellen, ob ein bestimmtes Datum für zwei bestimmte Zeiträume (Daten) enthalten ist oder nicht. Beispielsweise sind für den 20. bis 30. Juli "der 1. August ist nicht enthalten" und "der 20. Juli, der 25. Juli, der 30. Juli" enthalten. Wenn Sie es mit einer Linie vergleichen ...
---●---------------------●------
7/20 7/30
● bedeutet, dass der Tag enthalten ist.
boolean between(LocalDate date){
return (startDate.isBefore(date) && endDate.isAfter(date)) || startDate.equals(date) || endDate.equals(date);
}
boolean between(LocalDate date){
return !(startDate.isAfter(date) || endDate.isBefore(date));
}
---○---------------------○------
7/20 7/30
○ bedeutet, dass der Tag nicht enthalten ist.
boolean between(LocalDate date){
return (startDate.isBefore(date) && endDate.isAfter(date));
}
boolean between(LocalDate date){
//Es sollte nicht auf externen Werten basieren, aber es ist einfach
return date.isAfter(startDate) && date.isBefore(endDate);
}
boolean between(LocalDate date){
return startDate.compareTo(date) * endDate.compareTo(date) < 0;
}
boolean between(LocalDate date){
// //Es sollte nicht auf externen Werten basieren, sondern als Muster
return startDate.compareTo(date) * date.compareTo(endDate) > 0;
}
`> eingeführt` oder
<eingeführt` angeben.Recommended Posts