Vous pouvez les convertir à la fois pour GregorianCalendar
et comparer les (Calendar
est Comparable
). La sémantique méthode du calendrier compareTo() est explicitement défini et doit fonctionner indépendamment du fuseau horaire:
compare les valeurs de temps (milliseconde décalages de l'époque) représentés par deux objets du calendrier.
Donc, essayez ceci:
XMLGregorianCalendar date1 = ...
XMLGregorianCalendar date2 = ...
int result = date1.toGregorianCalendar().compareTo(date2.toGregorianCalendar());
Si result
est positif, alors date1
est "plus tard" que date2
La méthode compare()
sur XMLGregorianCalendar
lui-même fait quelque chose assez particulière, et ne regarde pas très utile pour moi.
pourquoi ne pas utiliser: date1.compare (date2) == DatatypeConstants.LESSER (comme par exemple)? –
http://stackoverflow.com/questions/14978328/comment-compare-xmlgregoriancalendar-with-only-the-date-portion-day-month-year approfondit comment XMLGregorianCalendar effectue la comparaison – user77115
en utilisant date1. comparer (date2) ne me donnait pas de résultats logiques, la réponse ci-dessus est juste. –