Schlüsselworte Wie kann ich am Besten ein LocalDate zwischen Anfangs und EndDate checken

Diskutiere Wie kann ich am Besten ein LocalDate zwischen Anfangs und EndDate checken im Allgemeine Java-Themen Bereich.
L

lam_tr

Hallo zusammen,

ich habe eine Range von Anfangs und End LocalDate über einen Picker definiert. Wie kann ich über Java mit LocalDate bestimmen ob LocalDate.now() in dieser Range liegt? Ich habe das mit isAfter und isBefore gemacht, aber irgendwie scheint das nicht 100% zu gehen. Hat jemand eine bessere Idee für mich.

Code:
        LocalDate value = datepickerBookDate.getValue();
        
        boolean isAfterSelection = value.isAfter(datepickerRestrictedFrom.getValue());
        boolean isBeforeSelection = value.isBefore(datepickerRestrictedUntil.getValue());
        
        if (!isAfterSelection || !isBeforeSelection) {
            return;
        }
 
F

fhoffmann

Ich denke, dass die Klammerung durchaus richtig ist. Mit etwas sprechenderen Variablennamen heißt die Bedingung:
Java:
boolean isAfterFrom = value.isAfter(datepickerRestrictedFrom.getValue());
boolean isBeforeUntil = value.isBefore(datepickerRestrictedUntil.getValue());
if (!isAfterFrom || !isBeforeUntil) {
  return;
}
Ich weiß nicht, was folgender Satz bedeutet:
aber irgendwie scheint das nicht 100% zu gehen
Wenn es Probleme mit den Grenzen gibt (man beachte: a.isAfter(a) == false), könnte folgendes helfen:
Java:
boolean isBeforeFrom = value.isBefore(datepickerRestrictedFrom.getValue());
boolean isAfterUntil = value.isAter(datepickerRestrictedUntil.getValue());
if (isBeforeFrom || isAfterUntil) {
  return;
}
 
A

advanced_java

überleg mal, was da steht, (!A || !B), eins von beiden ist immer false, somit ist die If immer true. Ein Datum kann nicht gleichzeitig vor und nach einem Zeitpunkt liegen.
 
T

thecain

Entweder is es vor dem minimum Datum, nach dem maximum Datum oder dazwischen. davor oder danach darf es nicht sein
=> !(vorMin || nachMax)
oder !vorMin&& !nachMax
was aber dasselbe ist.
 
F

fhoffmann

!(vorMin || nachMax)
Aber die Variablen vorMin und nachMax gibt es in der ursprünglichen Frage ja gar nicht.
Es gibt vielmehr nachMin und vorMax.

(Deshalb schreie ich ja auch schon lange, dass die Variablen isAfterSelection und isBeforeSelection umbenannt werden in isAfterFrom und isBeforeUntil. Dann hätten wir uns hier manche Diskussion erspart.)
 
Zuletzt bearbeitet:
L

lam_tr

Vielen Dank euch allen, die Klammerung ist entscheidend ja. Und was ist wenn ich die Eingrenzung noch inklusive from und until LocalDate mit in die Menge nehmen möchte?
 
Thema: 

Wie kann ich am Besten ein LocalDate zwischen Anfangs und EndDate checken

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben