`

Java 计算两个日期之间相差的月数

    博客分类:
  • java
阅读更多

/**  
    * 计算两个日期之间相差的月数  
    * @param date1  
    * @param date2  
    * @return  
    */  
   private int getMonths(Date date1, Date date2){   
       int iMonth = 0;   
       int flag = 0;   
       try{   
           Calendar objCalendarDate1 = Calendar.getInstance();   
           objCalendarDate1.setTime(date1);   
  
           Calendar objCalendarDate2 = Calendar.getInstance();   
           objCalendarDate2.setTime(date2);   
  
           if (objCalendarDate2.equals(objCalendarDate1))   
               return 0;   
           if (objCalendarDate1.after(objCalendarDate2)){   
               Calendar temp = objCalendarDate1;   
               objCalendarDate1 = objCalendarDate2;   
               objCalendarDate2 = temp;   
           }   
           if (objCalendarDate2.get(Calendar.DAY_OF_MONTH) < objCalendarDate1.get(Calendar.DAY_OF_MONTH))   
               flag = 1;   
  
           if (objCalendarDate2.get(Calendar.YEAR) > objCalendarDate1.get(Calendar.YEAR))   
               iMonth = ((objCalendarDate2.get(Calendar.YEAR) - objCalendarDate1.get(Calendar.YEAR))   
                       * 12 + objCalendarDate2.get(Calendar.MONTH) - flag)   
                       - objCalendarDate1.get(Calendar.MONTH);   
           else  
               iMonth = objCalendarDate2.get(Calendar.MONTH)   
                       - objCalendarDate1.get(Calendar.MONTH) - flag;   
  
       } catch (Exception e){   
        e.printStackTrace();   
       }   
       return iMonth;   
   }  

分享到:
评论
2 楼 beacon89 2011-11-28  
也不对哦!
1 楼 pml346680914 2011-03-03  
这个太复杂了吧

相关推荐

    java计算两个时间相差月数

    java计算两个时间(yyyy-MM-dd HH:mm:ss)相差月数两个时间格式可为年月日时分秒

    计算两天之间的月数.rar

    "计算两天之间的月数"这个主题涉及到的是如何在编程环境中确定两个日期之间相差的月份数。这个过程并不像计算天数那么简单,因为月份的长度不同,且可能涉及到闰年的情况。以下将详细介绍计算两天之间月数的方法。 ...

    java获取两个时间的相隔时间,包括年、月、日、时、分、秒

    在Java编程中,计算两个日期之间的差异是一项常见的任务,它涉及到日期和时间的处理。`DateUtils.java` 文件很可能是包含一个工具类,用于帮助我们完成这个任务。在这个类中,可能包含了各种方法来计算两个`java....

    Java日期工具类

    16、计算传入的两个日期之间相差的天数 17、根据传入的年月返回该月的第一天 18、根据传入的年月返回该月最后的一天 19、获得当前月份的第一天 20、获得当前月份的最后一天 21、获取上月的第一天 22、获取上月的最后...

    python 计算两个日期相差多少个月实例代码

    在Python编程语言中,计算两个日期之间相差的月数可能会比其他高级语言如Java或C#更为复杂,因为Python的标准库并没有提供直接计算月份差值的内置方法。在这个实例中,我们将探讨如何解决这个问题,特别是在面对`...

    DateUtil.java

    这个类通常包含了一系列静态方法,旨在简化日期之间的差值计算,比如计算两个日期之间相差的天数、月数和年数。在Java中,`java.util.Date` 和 `java.time` 包提供了原生的日期时间处理功能,但自定义的`DateUtil` ...

    java控制台下万年历

    - 要计算任意两日期之间的天数,可以使用`LocalDate`对象的`until()`方法,它返回一个`Period`对象,包含了两个日期之间的年数、月数和天数。 - 通过调用`getDays()`方法,可以直接获取两个日期之间的天数差值。 ...

    日期时间处理类(DateUtil)

    `DateUtil`可能会提供计算两个日期之间相差的天数、小时数或其他单位的方法,如`diffInDays(Date startDate, Date endDate)`。 6. **获取当前日期时间** 类中可能包含一个`now()`方法,返回当前系统时间的`Date`...

Global site tag (gtag.js) - Google Analytics