Calendar cal1 = Calendar.getInstance();Calendar cal2 = Calendar.getInstance();cal1.setTime(date1);cal2.setTime(date2);boolean sameDay = cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR) && cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR);
请注意,“同一天”并不是一个简单的概念,而是涉及不同时区时听起来很简单。上面的代码将针对两个日期计算相对于其所运行的计算机所使用的时区的日期。如果这不是你所需要的,则在
Calendar.getInstance()确定“同一天”的确切含义之后,你必须将相关的时区传递给呼叫。
是的,
Joda Time LocalDate可以使整个过程变得更加整洁和轻松(尽管也会存在涉及时区的同样困难)。



