如何获取两个日历实例之间的天数?

2022-01-11 00:00:00 date calendar android java

如果有日期变化,我想找出两个 Calendar 对象之间的天数差异,例如如果时钟从 23:59-0:00 滴答作响,则应该有天数差异.

I want to find the difference between two Calendar objects in number of days if there is date change like If clock ticked from 23:59-0:00 there should be a day difference.

这是我写的

public static int daysBetween(Calendar startDate, Calendar endDate) {  
    return Math.abs(startDate.get(Calendar.DAY_OF_MONTH)-endDate.get(Calendar.DAY_OF_MONTH));  
} 

但它不起作用,因为如果有月份差异,它只会在天之间产生差异,它毫无价值.

but its not working as it only gives difference between days if there is month difference its worthless.

推荐答案

在 Java 8 及更高版本中,我们可以简单地使用 java.time 类.

In Java 8 and later, we could simply use the java.time classes.

hoursBetween = ChronoUnit.HOURS.between(calendarObj.toInstant(), calendarObj.toInstant());

daysBetween = ChronoUnit.DAYS.between(calendarObj.toInstant(), calendarObj.toInstant());

相关文章