java Calendar

abstract  void add(int field, int amount)
          根据日历的规则,为给定的日历字段添加或减去指定的时间量。
abstract  void roll(int field, boolean up)
          在给定的时间字段上添加或减去(上/下)单个时间单元, 不更改更大的字段
void roll(int field, int amount)
          向指定日历字段添加指定(有符号的)时间量, 不更改更大的字段



		Calendar cal = Calendar.getInstance();
		SimpleDateFormat sdf =new SimpleDateFormat("yyyy MM dd") ;
		
		//days of month
		System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));
		
		//last day of month
		cal.add(Calendar.MONTH, 1);  
        cal.set(Calendar.DAY_OF_MONTH, 0);
        System.out.println(sdf.format(cal.getTime()));

cal.set(Calendar.DAY_OF_MONTH, 1);
		String firstDayOfLastMonth = sdf.format(cal.getTime()); 
		System.out.println(firstDayOfLastMonth);
		
		//last day of month向后减一个单位 但由于是roll操作,只会影响本月数据
		cal.roll(Calendar.DAY_OF_MONTH, false);
		String lastDayOfLastMonth = sdf.format(cal.getTime());
		System.out.println(lastDayOfLastMonth);

你可能感兴趣的:(calendar)