看一下Calendar类里面的方法。

解决方案 »

  1.   

    如果要俩个年份做比较的话,我通常都是得到现在的时间,substring年份,再加减,再比较。
    比较笨的方法- -
      

  2.   

    /**
     * 
     * 功能 :对于给定的时间增加天数/月数/年数后的日期,按指定格式输出
     * 
     * @param date
     *            要改变的日期
     * @param type
     *            日期改变的字段,如"year","month","day",对大小写不敏感
     * @param interval
     *            增加的数量(减少用负数表示),如5,-1
     * @param strFormat
     *            输出格式,如"yyyy-MM-dd","yyyy-MM-dd hh:mm:ss"
     * @return 格式化后的字符串
     */
    public static String getEndTime(String date, String type, int interval,
    String strFormat) { try { java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat(
    strFormat); Calendar rightNow = Calendar.getInstance();
    Date tempdate;
    tempdate = formatter.parse(date); rightNow.setTime(tempdate); int intField = 0;
    String tmpField = type.toUpperCase(); intField = Calendar.DATE;
    if (tmpField.equals("YEAR"))
    intField = Calendar.YEAR;
    if (tmpField.equals("MONTH"))
    intField = Calendar.MONTH;
    if (tmpField.equals("DAY"))
    intField = Calendar.DATE; rightNow.add(intField, interval);
    String day = formatter.format(rightNow.getTime()); return day; } catch (ParseException e) { return "有异常";
    }
    }
      

  3.   

    Calendar的add方法就是干这个的。
      

  4.   

     DateTime dt = new DateTime();
            dt.AddYears(1);
            dt.AddYears(2);
            dt.AddYears(-1);
            dt.AddYears(-2);
    试试这个,你把中间的数字 边成 动态的就行了!