abstract void add(int field, int amount)
根据日历的规则,为给定的日历字段添加或减去指定的时间量。
abstract void roll(int field, boolean up)
在给定的时间字段上添加或减去(上/下)单个时间单元,[color=red]不更改更大的字段[/color]。
void roll(int field, int amount)
向指定日历字段添加指定(有符号的)时间量,[color=red]不更改更大的字段[/color]。
根据日历的规则,为给定的日历字段添加或减去指定的时间量。
abstract void roll(int field, boolean up)
在给定的时间字段上添加或减去(上/下)单个时间单元,[color=red]不更改更大的字段[/color]。
void roll(int field, int amount)
向指定日历字段添加指定(有符号的)时间量,[color=red]不更改更大的字段[/color]。
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);