估计只有用循环了,把一年所有的天都查一遍,下面的代码看看对你的问题有没有帮助:
Calendar thisMonth = Calendar.getInstance();
       thisMonth.set(Calendar.YEAR, 2002);
       thisMonth.set(Calendar.MONTH, 07);//指2002-8月
       thisMonth.setFirstDayOfWeek(Calendar.SUNDAY);
       thisMonth.set(Calendar.DAY_OF_MONTH,1);
       int firstIndex=thisMonth.get(Calendar.DAY_OF_WEEK)-1;
       int maxIndex=thisMonth.getActualMaximum(Calendar.DAY_OF_MONTH);
       int kk = 0;
       int yourWantWeek = 2;
       int yourWantWeekDay = 3; //如上表示你想要的是2002-08的第二个的星期三。
       int i=1;
       System.out.println(firstIndex);
       for(;i<maxIndex;i++){
         int xx = firstIndex - (firstIndex/7)*7;
         if(xx==yourWantWeekDay)
           kk++;
         if(kk==yourWantWeek){
           break;
         }
         firstIndex++;
       }