Java中的Calendar类中的getActualMaximum方法

这个方法的作用是返回当前月份的天数,其中的参数到底代表什么意思?
Calendar c = new GregorianCalendar();
c.setTime(new Date);
c.getActualMaximum(Calendar.DATE);
这里的getActualMaximum强制要求传递一个int类型的参数,可是既然这个方法是通过Calendar对象调用的,为何还要传递一个参数,而且这个对于每个参数,传递的值都是一样的,都是Calendar.DATE

Calendar.DATE这个字段表示一个月中的某天,
Calendar c = new GregorianCalendar();

c.getActualMaximum(Calendar.DATE); 这句表示返回一个int值,这个值是这个月最大的那一天,这里返回31,表示10月最大的那天是31号。
这里一定要跟一个参数,否则不知道返回的是什么的最大值,比如:

c.getActualMaximum(Calendar.MINUTE); 返回59,表示返回分钟最大值为59
你可以看一下api,
Calendar 有很多不同字段,表示不同意思
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-20
java.util.Calendar.getActualMaximum() 方法返回基于此Calendar的时间值,指定日历字段可能拥有的最大值。
示例演示java.util.calendar.getActualMaximum()方法的用法。

import java.util.*;

public class CalendarDemo {

public static void main(String[] args) {

// create a calendar
Calendar cal = Calendar.getInstance();

// get the maximum value that year field can have
int i = cal.getActualMaximum(Calendar.YEAR);
System.out.println("Maximum year:" + i);

// get the maximum value that month field can have
int a = cal.getActualMaximum(Calendar.MONTH);
System.out.println("Maximum month:" + a);
}
}

编译和运行上面的程序,这将产生以下结果:
Maximum year:292278994
Maximum month:11本回答被网友采纳
第2个回答  2015-10-24
获取本月实际最大的一天,如28, 29, 30, 31
相似回答