2007-05-29

一个计算两个日期相差的月份的函数

关键字: 计算两个日期相差的月份
java 代码
  1. public static final int getMonths(GregorianCalendar g1, GregorianCalendar g2)   
  2.     {   
  3.         int elapsed = 0;   
  4.         GregorianCalendar gc1, gc2;   
  5.   
  6.         if (g2.after(g1))   
  7.         {   
  8.             gc2 = (GregorianCalendar) g2.clone();   
  9.             gc1 = (GregorianCalendar) g1.clone();   
  10.         }   
  11.         else  
  12.         {   
  13.             gc2 = (GregorianCalendar) g1.clone();   
  14.             gc1 = (GregorianCalendar) g2.clone();   
  15.         }   
  16.   
  17.         gc1.clear(Calendar.MILLISECOND);   
  18.         gc1.clear(Calendar.SECOND);   
  19.         gc1.clear(Calendar.MINUTE);   
  20.         gc1.clear(Calendar.HOUR_OF_DAY);   
  21.         gc1.clear(Calendar.DATE);   
  22.   
  23.         gc2.clear(Calendar.MILLISECOND);   
  24.         gc2.clear(Calendar.SECOND);   
  25.         gc2.clear(Calendar.MINUTE);   
  26.         gc2.clear(Calendar.HOUR_OF_DAY);   
  27.         gc2.clear(Calendar.DATE);   
  28.   
  29.         while (gc1.before(gc2))   
  30.         {   
  31.             gc1.add(Calendar.MONTH, 1);   
  32.             elapsed++;   
  33.         }   
  34.         return elapsed;   
  35.     }  
评论
dolphin_ygj 2007-05-30
OK,是个好办法
joachimz 2007-05-29
有这么复杂吗?

12*(date1.getYear()-date2.getYear())+date1.getMonth()-date2.getMonth();
dolphin_ygj
搜索本博客
最近加入圈子
最新评论
评论排行榜