int get_year=cal.get(cal.YEAR); int get_month=cal.get(cal.MONTH); int get_week=cal.get(cal.WEEK_OF_MONTH); int get_day=cal.get(cal.DAY_OF_MONTH); int maxDay = cal.getActualMaximum(x);当x为5时,也就是当前月,maxDay=30;但为其他数时,出来的值不对。 x=4,maxDay=5!!!!why??
不太明白你说的 x = 4 以及 x = 5具体是什么意思,如果你指的是 cal.DAY_OF_MONTH的话,可能你对这个常数的意义产生了误解,这个常数实际返回的是当天是这个月的第几天,而不是一个月有多少天的意思。另外,引用这些常数其实不需要一个Calendar的实例存在,直接用类名Calendar引用就可以了,因为这些都是类常数。
int get_month=cal.get(cal.MONTH);
int get_week=cal.get(cal.WEEK_OF_MONTH);
int get_day=cal.get(cal.DAY_OF_MONTH); int maxDay = cal.getActualMaximum(x);当x为5时,也就是当前月,maxDay=30;但为其他数时,出来的值不对。
x=4,maxDay=5!!!!why??
怎样用GregorianCalendar类来得到指定月份有多少天? x是月份值,5就代表6月份,也就是cal.MONTH你说的类常数是不是针对当天的时间值而言的,如果我选择任意的一天,
这个常数值的依据是什么呢?
怎样用GregorianCalendar类来得到指定月份有多少天? x是月份值,5就代表6月份,也就是cal.get(cal.MONTH); 你说的类常数是不是针对当天的时间值而言的,如果我选择任意的一天,
这个常数值的依据是什么呢?
GregorianCalendar gc = new GregorianCalendar(); // 这种构造函数gc获得的是当天
改为:
GregorianCalendar gc = new GregorianCalendar(xxxxx); // 其中构造的参数有五种,还是具体去看一看JDK文档吧。
举一个简单的例子吧:
GregorianCalendar gc = new GregorianCalendar(2001, 11, 3);
这就是一个构造参数为(int, int, int)的GregorianCalendar,代表 2001-12-3,要注意月份是从0开算的。用这个方法就可以选择任意一天了。
我
out.println("Calendar.MONTH="+Calendar.MONTH);的值是2,应该是5才对啊!怎么回事?
你大概是把 get(Calendar.MONTH) 与 Calendar.MONTH 搞混了吧!
Calendar.MONTH之类的常数是用来作为 get的输入参数的,get的返回值才是你想要的!
:)
用参数Calendar.MONTH,得到的是11,也就是一年12个月。
用参数Calendar.DAY_OF_MONTH,才是指定月份的天数。本月就为30