import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Test {

	/**
	 * ******** 在Calendar对象的add方法中,第二个参数为正数表示“加”,负数表示“减”。
	 * @param args
	 * @throws ParseException 
	 */
	public static void main(String[] args) throws ParseException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
		String str = "20110823";
		Date dt = sdf.parse(str);
		Calendar rightNow = Calendar.getInstance();
		rightNow.setTime(dt);
		rightNow.add(Calendar.YEAR, -1);// 日期减1年
		System.out.println(sdf.format(rightNow.getTime()));
		
		rightNow.add(Calendar.MONTH, 3);// 日期加3个月
		System.out.println(sdf.format(rightNow.getTime()));
		
		rightNow.add(Calendar.DAY_OF_YEAR, 10);// 日期加10天
		System.out.println(sdf.format(rightNow.getTime()));
	}
}

// 结果
/**
20100823
20101123
20101203
*/