Here you can find the source of compareCalendars(Date fechaAComparar, Date fechaBase)
public static int compareCalendars(Date fechaAComparar, Date fechaBase)
//package com.java2s; //License from project: Open Source License import java.text.SimpleDateFormat; import java.util.Date; import java.util.Calendar; import java.text.DateFormat; public class Main { public static int compareCalendars(Date fechaAComparar, Date fechaBase) { Calendar calendario1 = Calendar.getInstance(); calendario1.setTime(fechaAComparar); Calendar calendario2 = Calendar.getInstance(); calendario2.setTime(fechaBase);/*from ww w . ja v a2 s . com*/ if (calendario1.get(Calendar.YEAR) == calendario2.get(Calendar.YEAR) && calendario1.get(Calendar.MONTH) == calendario2.get(Calendar.MONTH) && calendario1.get(Calendar.DATE) == calendario2.get(Calendar.DATE)) { return 0; } if (calendario1.get(Calendar.YEAR) >= calendario2.get(Calendar.YEAR) && calendario1.get(Calendar.MONTH) >= calendario2.get(Calendar.MONTH) && calendario1.get(Calendar.DATE) > calendario2.get(Calendar.DATE)) { return 1; } if (calendario1.get(Calendar.YEAR) <= calendario2.get(Calendar.YEAR) && calendario1.get(Calendar.MONTH) <= calendario2.get(Calendar.MONTH) && calendario1.get(Calendar.DATE) < calendario2.get(Calendar.DATE)) { return -1; } return 99; } public static int compareCalendars(String fechaAComparar, String fechaBase) { int valor_retorno = -1; DateFormat formato = new SimpleDateFormat("yyyy-MM-dd"); try { Date d1 = formato.parse(fechaAComparar); Date d2 = formato.parse(fechaBase); if (d1.equals(d2)) valor_retorno = 0; else if (d1.before(d2)) valor_retorno = -1; else if (d1.after(d2)) valor_retorno = 1; else valor_retorno = 99; } catch (Exception e) { e.printStackTrace(); } return valor_retorno; } }