How to compare objects of the class LocalDate and Calendar?

I am trying to compare dates with two objects having different types. Is there a way to convert a Calendar object to LocalDater, or vice versa?

Thanks:)

public class ABC{

    public static void main(String args[]){
        Calendar c1= Calendar.getInstance();
        LocalDate c2= LocalDate.now();      
        System.out.println(c1.compareTo(c2));
    }
}
+6
source share
2 answers

You need to compare the dates , so let's do just that.

Using this answer as a reference:

Calendar calendar = Calendar.getInstance();
LocalDate localDate = LocalDate.now();

LocalDate calendarAsLocalDate = calendar.toInstant()
    .atZone(calendar.getTimeZone().toZoneId())
    .toLocalDate();

return calendarAsLocalDate.compareTo(localDate)
+2
source
    private int compare(Calendar c1, LocalDate c2) {
        int yearCompare = ((Integer) c1.get(Calendar.YEAR)).compareTo(c2.getYear());
        if (yearCompare == 0)
            return ((Integer) c1.get(Calendar.DAY_OF_YEAR)).compareTo(c2.getDayOfYear());
        else
            return yearCompare;
    }
+1
source

Source: https://habr.com/ru/post/1016551/


All Articles