论坛首页 入门技术论坛

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

浏览 4528 次
该帖已经被评为新手帖
作者 正文
   发表时间: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.     }  
   发表时间:2007-05-29  
有这么复杂吗?

12*(date1.getYear()-date2.getYear())+date1.getMonth()-date2.getMonth();
0 请登录后投票
   发表时间:2007-05-30  
OK,是个好办法
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics