/**输入日期计算下一周、月、季度、半年、年**/
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
GregorianCalendar grc=new GregorianCalendar(2009, Calendar.AUGUST,31);
// 周
grc.add(GregorianCalendar.DAY,7);
System.out.println("grc="+dateFormat.format(grc.getTime()));
// 月
grc.add(GregorianCalendar.MONTH,1);
System.out.println("grc="+dateFormat.format(grc.getTime()));
// 季度
grc.add(GregorianCalendar.MONTH,3);
System.out.println("grc="+dateFormat.format(grc.getTime()));
// 半年
grc.add(GregorianCalendar.MONTH,6);
System.out.println("grc="+dateFormat.format(grc.getTime()));
// 年
grc.add(GregorianCalendar.YEAR,1);
System.out.println("grc="+dateFormat.format(grc.getTime()));
日期中星期的计算:
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
GregorianCalendar grc=new GregorianCalendar(2004, Calendar.DECEMBER,1);
// 得到今天星期几
int week = grc.get(Calendar.DAY_OF_WEEK);
// 起始日为星期一时需要,起始日为星期日则不要
if (week == 1) {
week = week + 6;
} else {
week = week - 1;
}
// 所在周的起始日
grc=new GregorianCalendar(2009, Calendar.DECEMBER,1);
grc.add(GregorianCalendar.DATE,1-week);
// 所在周的结束日
grc.add(GregorianCalendar.DATE,7-week);
System.out.println("grc="+dateFormat.format(grc.getTime()));