Calendar c = new GregorianCalendar();
        c.set(Calendar.YEAR , 2003);
        c.set(Calendar.MONTH , 8 - 1);
        c.set(Calendar.WEEK_OF_MONTH  , 3);
        c.set(Calendar.DAY_OF_WEEK  , 4 + 1);
        System.out.println("DAY_OF_MONTH: " + c.get(Calendar.DAY_OF_MONTH));month一月是0 所以8月就是8-1;
day of week星期4是5, 所以是4 + 1

解决方案 »

  1.   

    当然
    c.set(Calendar.MONTH , Calendar.AUGUST);
    c.set(Calendar.DAY_OF_WEEK  , Calendar.THURSDAY );
    这样更好。
      

  2.   

    private Calendar getDate(int year, int month, int week_of_month, int day_of_week) {
    Calendar calendar = Calendar.getInstance();

    calendar.set(year, month, 1);
    calendar.set(Calendar.WEEK_OF_MONTH, week_of_month);
    calendar.set(Calendar.DAY_OF_WEEK, day_of_week);

    return calendar;
    }
    month 从 0-11
    day_of_week 1是sunday 2是monday。。