用Calendar实例的get(Calendar.DAY_OF_YEAR);方法

解决方案 »

  1.   

    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++;
           }