Java,计算两个日期之间的天数

这个问题在这里已经有了答案:

  • 计算两个Java日期实例之间的差异43个答案

  • 首先,你应该只在必要时将它们作为字符串处理。 大多数情况下,您应该使用实际描述您正在使用的数据的数据类型与他们一起工作。

    我建议你使用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

    上一篇: Java, Calculate the number of days between two dates

    下一篇: statement or expression?