Вы можете использовать LocalDate :: isAfter и LocalDate :: isBefore , чтобы проверить, попадает ли LocalDate
между двумя датами.
Демо
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
class Pupil {
private String studID;
private String subjectID;
private String regiNumber;
private LocalDate dateEnroled;
public Pupil(String studID, String subjectID, String regiNumber, LocalDate dateEnroled) {
this.studID = studID;
this.subjectID = subjectID;
this.regiNumber = regiNumber;
this.dateEnroled = dateEnroled;
}
public LocalDate getDateEnroled() {
return dateEnroled;
}
@Override
public String toString() {
return "Pupil [studID=" + studID + ", subjectID=" + subjectID + ", regiNumber=" + regiNumber + ", dateEnroled="
+ dateEnroled + "]";
}
}
public class Main {
public static void main(String[] args) {
List<Pupil> pupilList = new ArrayList<Pupil>();
pupilList.add(new Pupil("John", "301B", "8588", LocalDate.parse("2017-03-11")));
pupilList.add(new Pupil("William", "401B", "8589", LocalDate.parse("2018-05-12")));
pupilList.add(new Pupil("Jessica", "501B", "8590", LocalDate.parse("2019-07-12")));
pupilList.add(new Pupil("Linda", "601B", "8591", LocalDate.parse("2020-01-10")));
List<Pupil> list = new ArrayList<Pupil>();
LocalDate startDate = LocalDate.parse("2017-03-11");
LocalDate endDate = LocalDate.parse("2019-07-12");
for (Pupil pupil : pupilList) {
if (pupil.getDateEnroled().isAfter(startDate) && pupil.getDateEnroled().isBefore(endDate)) {
list.add(pupil);
}
}
// Display the list
for (Pupil pupil : list) {
System.out.println(pupil);
}
}
}
Вывод:
Pupil [studID=William, subjectID=401B, regiNumber=8589, dateEnroled=2018-05-12]
Если вы хотите включить обе даты (startDate
и endDate
), это можно сделать следующим образом:
List<Pupil> list = new ArrayList<Pupil>();
LocalDate startDate = LocalDate.parse("2017-03-11").minusDays(1);
LocalDate endDate = LocalDate.parse("2019-07-12").plusDays(1);
for (Pupil pupil : pupilList) {
if (pupil.getDateEnroled().isAfter(startDate) && pupil.getDateEnroled().isBefore(endDate)) {
list.add(pupil);
}
}
// Display the list
for (Pupil pupil : list) {
System.out.println(pupil);
}
Вывод:
Pupil [studID=John, subjectID=301B, regiNumber=8588, dateEnroled=2017-03-11]
Pupil [studID=William, subjectID=401B, regiNumber=8589, dateEnroled=2018-05-12]
Pupil [studID=Jessica, subjectID=501B, regiNumber=8590, dateEnroled=2019-07-12]