Calendar
类是一个抽象类,在java.util.Calendar包中,它为特定瞬间与一组诸如 YEAR
、MONTH
、DAY_OF_MONTH
、HOUR
等 日历字段
之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
/* 获取年月日星期 */ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date());// 设置当前日期 int year = calendar.get(Calendar.YEAR);// 获取年份 System.out.println("年year:" + year); int month = calendar.get(Calendar.MONTH) + 1;// 获取月 System.out.println("月month:" + month); int date = calendar.get(Calendar.DATE);// 获取日 System.out.println("日date:" + date); int week = calendar.get(Calendar.DAY_OF_WEEK);// 获取星期 System.out.println("星期week:" + week);
/* 获取这个月最后1天 */ calendar.clear(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, month - 1);// 这个月 calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));// 最后1天 String ERDAT = sdf.format(calendar.getTime());// 这个月最后1天 System.out.println("这个月最后1天:" + ERDAT);
/* 获取下个月第1天 */ calendar.clear(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, month);// 下个月 calendar.set(Calendar.DAY_OF_MONTH, 1);// 第一天 String ERDAT2 = sdf.format(calendar.getTime());// 上月最后一日 System.out.println("下个月第1天:" + ERDAT2);
参考文档:http://www.runoob.com/manual/jdk1.6/java/util/Calendar.html