Cześć. Mam taki problem, porównuje ze sobą dwie daty i wg opisu metody compareTo, metoda powinna zwracać 0, kiedy obiekty są równe, natomiast zwraca -1 dla tych samych dat, a 1 dla daty o dzień późniejszej.
Jak widać na obrazku dzisiejsza data to "2020-12-14", a data w obiekcie offeredRide to również "2020-12-14", mimo to, po porównaniu metodą compareTo wynik to -1
@Override
public List<OfferedRide> getListOfOfferedRidesOfSpecificUserBeforeCurrentMoment(int userID) {
List<OfferedRide> listOfOfferedRideBySpecificUser = getListOfOfferedRidesOfSpecificUser(userID);
List<OfferedRide> listOfAlreadyDoneOfferedRides = new ArrayList<>();
Date date = new java.sql.Date(System.currentTimeMillis());
Time time = new Time(System.currentTimeMillis());
for (OfferedRide off:
listOfOfferedRideBySpecificUser) {
int resultOfComparision = off.getDate_of_ride().compareTo(date);
if(resultOfComparision == -1){
listOfAlreadyDoneOfferedRides.add(off);
} else if (resultOfComparision == 0){
if(off.getTime_of_ride().compareTo(time) == -1){
listOfAlreadyDoneOfferedRides.add(off);
}
}
}
return listOfAlreadyDoneOfferedRides;
}
Wiecie może w czym jest problem ? Jak porównywać dwie daty SQLowe ?
scibi92scibi92scibi92