如何能得到两个日期之间相差的年数呢,不足一年的按一年算,超出就按2年算,如此这般在java里该怎么写?

解决方案 »

  1.   

    Calendar
    自己看这个类的方法
      

  2.   

    改了改计算天数的方法,将就用吧    /**
         * 计算两个日期相差的年数
         * 不足一年的按一年算,超出就按两年算
         * 注意两个日期格式必须相同
         * @param startDate 字符串开始时间
         * @param endDate 字符串结束时间
         * @param format 时间格式
         * @return int  相差年数
         * @throws ParseException
         */
        public int countYears(String startDate, String endDate, String format)
            throws ParseException
        {
            SimpleDateFormat sf = new SimpleDateFormat(format) ;
            Date sDate = sf.parse(startDate) ;
            Date eDate = sf.parse(endDate) ;
            Calendar c = Calendar.getInstance() ;        double years = (double)(Math.abs(eDate.getTime()-sDate.getTime())/(24*3600*1000))/365;
            System.out.println(years);
            if((years > (int)years))
                return ((int) years) + 1 ;
            else
                return (int) years ;
        }