Sie könnten sie beide zu GregorianCalendar
konvertieren und diejenigen vergleichen (Calendar
ist Comparable
). Die Semantik compareTo() -Methode des Kalenders ist explizit definiert und sollte von der Zeitzone unabhängig arbeiten:
Vergleicht die Zeitwerte (Millisekunden Offsets von der Epoch) durch zwei Kalender-Objekte dargestellt.
Also versuchen Sie dies:
XMLGregorianCalendar date1 = ...
XMLGregorianCalendar date2 = ...
int result = date1.toGregorianCalendar().compareTo(date2.toGregorianCalendar());
Wenn result
positiv ist, dann date1
"später" als date2
Die compare()
Methode auf XMLGregorianCalendar
selbst etwas tut, etwas eigentümlich, und sieht nicht aus sehr nützlich für mich.
warum nicht verwenden: date1.compare (date2) == DatatypeConstants.LESSER (wie zB)? –
http://stackoverflow.com/questions/14978328/how-to-compare-xmlgregoriancalendar-with-only-the-date-portion-day-month-year geht in die Tiefe, wie XMLGregorianCalendar den Vergleich – user77115
Using date1 durchführt. vergleichen (date2) gab mir keine logischen Ergebnisse, die obige Antwort ist richtig. –