使用Calendar根据当前日期算前一年、前一月、前一天
本来想用SimpleDateFormat根据当前日期计算前一年、前一月、前一天的日期,发现用这个挺麻烦的,后来发现使用Calendar还是挺方便的。
Calendar中有个核心的方法:add(int field,int amount),用起来很简单。
Calendar ca = Calendar.getInstance();// 得到一个Calendar的实例
//ca.setTime(new Date()); // 设置时间为当前时间
ca.set(2011, 11, 17);// 月份是从0开始的,所以11表示12月
ca.add(Calendar.YEAR, -1); // 年份减1
ca.add(Calendar.MONTH, -1);// 月份减1
ca.add(Calendar.DATE, -1);// 日期减1
Date resultDate = ca.getTime(); // 结果
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(resultDate));
从上面的代码发现Calendar配合SImpleDateFormat来使用还是很方便的。