首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请教为什么getActualMaximum不对

2012-03-28 
请问为什么getActualMaximum不对?请问为什么getActualMaximum不对? public static void main ( String arg

请问为什么getActualMaximum不对?
请问为什么getActualMaximum不对?

public static void main ( String args[] )
  {
System.out.println(GetDayCountFromYearMonth(2007,2));
}

static int GetDayCountFromYearMonth(int nYear, int nMonth)
{
Calendar c= Calendar.getInstance();
c.set(Calendar.YEAR, nYear);
c.set(Calendar.MONTH, nMonth -1);

return c.getActualMaximum(Calendar.DAY_OF_MONTH);
}


想用GetDayCountFromYearMonth得到指定月分的最大天数,但是2007年 2月好像总是31天?


[解决办法]
Calendar c= Calendar.getInstance(); 
c.set(Calendar.YEAR, nYear); 
c.set(Calendar.MONTH, nMonth -1); 
//这个时候由于2月没有30日,而今天是30日,所以c已经自动跳转到了3月了,所以你要在set Month之前调用一次c.set(Calendar.DATE, 1);才可以保证不出现这个问题
return c.getActualMaximum(Calendar.DAY_OF_MONTH);
[解决办法]
哈哈,测试平年2月的天数不能在 29、30、31 这几天测试,真不巧啊,不过也好发现问题了。

热点排行