XMLGregorianCalendar日期比较

Aja*_*jay 9 java xml

如何比较XMLGregorianCalendar的2个实例以找出哪个更大?其中一个日期变量有一个值

date1 = 2009-02-23T05:54:17+05:30
Run Code Online (Sandbox Code Playgroud)

和另外一个,

date2 = 2009-02-23T05:54:17.000
Run Code Online (Sandbox Code Playgroud)

ska*_*man 17

您可以将它们转换为GregorianCalendar并比较那些(CalendarComparable).Calendar的语义compareTo()方法是明确定义的,应该独立于时区工作:

比较两个Calendar对象表示的时间值(与Epoch的毫秒偏移量).

试试这个:

XMLGregorianCalendar date1 = ...
XMLGregorianCalendar date2 = ...
int result = date1.toGregorianCalendar().compareTo(date2.toGregorianCalendar());
Run Code Online (Sandbox Code Playgroud)

如果result是积极的,那么date1"晚于"date2

这个compare()方法XMLGregorianCalendar本身就做了一些特别的事情,对我来说看起来并不是很有用.

  • 为什么不使用:date1.compare(date2)== DatatypeConstants.LESSER(例如)? (3认同)