Java,计算两个日期之间的天数
这个问题在这里已经有了答案:
首先,你应该只在必要时将它们作为字符串处理。 大多数情况下,您应该使用实际描述您正在使用的数据的数据类型与他们一起工作。
我建议你使用Joda Time,这是一个比Date
/ Calendar
更好的API。 听起来你应该在这种情况下使用LocalDate
类型。 然后你可以使用:
int days = Days.daysBetween(date1, date2).getDays();
试试这个代码
Calendar cal1 = new GregorianCalendar();
Calendar cal2 = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy");
Date date = sdf.parse("your first date");
cal1.setTime(date)
date = sdf.parse("your second date");
cal2.setTime(date);
//cal1.set(2008, 8, 1);
//cal2.set(2008, 9, 31);
System.out.println("Days= "+daysBetween(cal1.getTime(),cal2.getTime()));
这个功能
public int daysBetween(Date d1, Date d2){
return (int)( (d2.getTime() - d1.getTime()) / (1000 * 60 * 60 * 24));
}
在Java 8中,您可以使用Enum ChronoUnit
实例计算不同单位(日,月,秒)的时间量。
例如:
ChronoUnit.DAYS.between(startDate,endDate)
链接地址: http://www.djcxy.com/p/9217.html