Java中对日期的加减操作
gc.add(1,-1)表示年份减一.gc.add(2,-1)表示月份减一.
gc.add(3.-1)表示周减一.
gc.add(5,-1)表示天减一.
GregorianCalendar类的add(int field,int amount)方法表示年月日等加减.
field参数表示年,月.日等.
amount参数表示要加减的数量.
/*
* 计算时间周的开始和结束时间(上周,本周,下周)
* param flag -1 上周 2是下周
* return date
*/
public Date getWeek(int flag){
Calendar gc = new GregorianCalendar();
gc.add(3, flag);
Date week = null;
if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
gc.add(5, 1);
week = gc.getTime();
} else if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) {
gc.add(5, 2);
week = gc.getTime();
} else if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.THURSDAY) {
gc.add(5, 3);
week = gc.getTime();
} else if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.WEDNESDAY) {
gc.add(5, -3);
week = gc.getTime();
} else if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY) {
gc.add(5, -2);
week = gc.getTime();
} else if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY) {
gc.add(5, -1);
week = gc.getTime();
} else {
week = gc.getTime();
}
return week;
}