核心:使用Calendar的add(int field, int amount)方法
public static void main(String[] args) {
/** 获取当前日期的前一天、月、年 */
Calendar ca = Calendar.getInstance();//得到一个Calendar的实例
ca.setTime(new Date()); //设置时间为当前时间
ca.add(Calendar.DATE, -1); //日期减1
Date lastMonth = ca.getTime(); //结果
//求前一月ca.add(Calendar.MONTH, -1),
//前一年ca.add(Calendar.YEAR, -1)
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
String queryDate =sdf.format(lastMonth );
System.out.println(queryDate);
/** 指定日期前一天 */
Calendar ca = Calendar.getInstance();//得到一个Calendar的实例
ca.set(2009, 11, 31);//月份是从0开始的,所以11表示12月
Date now = ca.getTime();
ca.add(Calendar.DATE, -1); //日期减1
Date lastMonth = ca.getTime(); //结果
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sf.format(now));
System.out.println(sf.format(lastMonth));
}
同样,类似的,求前一月ca.add(Calendar.MONTH, -1),前一天ca.add(Calendar.DATE, -1) ,前一周 calendar.add(Calendar.WEEK_OF_YEAR, -1);