需求是这样:
我要循环当月每一天,查询当天时间内的信息,sql由循环过程生成
本来我用for (int i=0;i<31;..) 可是6月份是没有31号的,2月份只有28天,赶上闰年就是29天
这样生成sql后送去查询,如果日期非法,就会报错
请问如何计算得到当年、当月的天数,是否应使用java.util.Calendar 中的 getActrualMaximum()
我查看了api,可是没有测试出希望的结果,希望前辈给指点下,多谢多谢!
环境为java+oralce9,
换个思路,能不能让java忽略oracle的报错继续执行程序呢?我也使用了例外,可是我的try并没有捕捉到这个报错

解决方案 »

  1.   

    import java.util.*;public class Test{    public static void main(String[] args) {
            Calendar cal = Calendar.getInstance();
            for(int i =0; i<12;i++) {
            cal.clear(); 
            cal.set(2005, i , 1);
            int maxDays = cal.getActualMaximum(cal.DATE);
            System.out.println("〈br〉Number of days in month " +(i+1)+": "+ maxDays + "〈br〉");
            }
        }
    }
      

  2.   

    我只是给出了计算每个月天数的方法,
    在for (int i=0;i<31;..) 中,把31改成这个月的天数就可以了。