/**
* 日期的加减方法
* 用于在当前的天或者小时或者分钟或者月份的基础上加上或者减去若干小时,分钟,日,月
* @param currentDay 当前月份的某一天
* @param day (Calendar.DATE 天 Calendar.HOUR 小时 Calendar.MINUTE 分钟 Calendar.MONTH 月)需要加上的天数或者需要减去的天数,
* 例如:加上10天:(Calendar.DATE,10)减去十天:(Calendar.DATE,-10)
* @return 返回加上或者减去的那个日期
* @author 程熙
* ${2013-11-19}
*/
public Date dayAddAndSub(int currentDay,int day) {
Calendar calendar = Calendar.getInstance();
calendar.add(currentDay, day);
Date startDate = calendar.getTime();
return startDate;
}
/**
* 测试用的程序
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date currnetDate = new Date();
Calendar calendar = Calendar.getInstance();
Test test = new Test();
Date dateResult = test.dayAddAndSub(Calendar.DATE, -1); //一个月中的某天
//Date dateResult = test.dayAddAndSub(Calendar.HOUR , -4); //小时
//Date dateResult = test.dayAddAndSub(Calendar.MINUTE , -60); //分钟
//Date dateResult = test.dayAddAndSub(Calendar.MONTH , -1); //月
System.out.println(sdf.format(dateResult));
}
文中的-1,-4等等代表要减去1天,4天,若是加上几天的话就去掉负号。