在Calendar 类里面有如下方法。
WEEK_OF_MONTH
public static final int WEEK_OF_MONTH
Field number for get and set indicating the week number within the current month. The first week of the month, as defined by getFirstDayOfWeek() and getMinimalDaysInFirstWeek(), has value 1. Subclasses define the value of WEEK_OF_MONTH for days before the first week of the month.

解决方案 »

  1.   

    给你
    ==========================
    package maxpain.dates;import java.text.DateFormat;
    import java.util.*;public class JspCalendar {
        Calendar  calendar = null;    public JspCalendar() {
    calendar = Calendar.getInstance();
    Date trialTime = new Date();
    calendar.setTime(trialTime);
        }    public int getYear() {
    return calendar.get(Calendar.YEAR);
        }
        
        public String getMonth() {
    int m = getMonthInt();
    String[] months = new String [] { "1", "2", "3",
    "4", "5", "6",
    "7", "8", "9",
    "10", "11", "12" };
    if (m > 12)
        return "Unknown to Man";

    return months[m - 1];    }    public String getDay() {
    int x = getDayOfWeek();
    String[] days = new String[] {"1", "2", "3", 
          "4", "5", "6","7"}; if (x > 7)
        return "Unknown to Man"; return days[x - 1];    }
        
        public int getMonthInt() {
    return 1 + calendar.get(Calendar.MONTH);
        }    public String getDate() {
    return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();    }    public String getTime() {
    return getHour() + ":" + getMinute() + ":" + getSecond();
        }    public int getDayOfMonth() {
    return calendar.get(Calendar.DAY_OF_MONTH);
        }    public int getDayOfYear() {
    return calendar.get(Calendar.DAY_OF_YEAR);
        }    public int getWeekOfYear() {
    return calendar.get(Calendar.WEEK_OF_YEAR);
        }    public int getWeekOfMonth() {
    return calendar.get(Calendar.WEEK_OF_MONTH);
        }    public int getDayOfWeek() {
    return calendar.get(Calendar.DAY_OF_WEEK)-1;
        }
         
        public int getHour() {
    return calendar.get(Calendar.HOUR_OF_DAY);
        }
        
        public int getMinute() {
    return calendar.get(Calendar.MINUTE);
        }
        public int getSecond() {
    return calendar.get(Calendar.SECOND);
        }    public static void main(String args[]) {
    JspCalendar db = new JspCalendar();
    p("date: " + db.getDayOfMonth());
    p("year: " + db.getYear());
    p("month: " + db.getMonth());
    p("time: " + db.getTime());
    p("date: " + db.getDate());
    p("Day: " + db.getDay());
    p("DayOfYear: " + db.getDayOfYear());
    p("WeekOfYear: " + db.getWeekOfYear());
    p("era: " + db.getEra());
    p("ampm: " + db.getAMPM());
    p("DST: " + db.getDSTOffset());
    p("ZONE Offset: " + db.getZoneOffset());
    p("TIMEZONE: " + db.getUSTimeZone());
        }    private static void p(String x) {
    System.out.println(x);
        }
        public int getEra() {
    return calendar.get(Calendar.ERA);
        }    public String getUSTimeZone() {
    String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",
           "Mountain", "Central", "Eastern"};

    return zones[10 + getZoneOffset()];
        }    public int getZoneOffset() {
    return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);
        }
        public int getDSTOffset() {
    return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);
        }    
        public int getAMPM() {
    return calendar.get(Calendar.AM_PM);
        }
    }
      

  2.   

    java.util.GregorianCalendar gc = new java.util.GregorianCalendar();
    gc.setTime(new java.util.Date());
    gc.get(gc.DAY_OF_WEEK_IN_MONTHDAY_OF_WEEK);
      

  3.   

    java.util.GregorianCalendar gc = new java.util.GregorianCalendar();
    gc.setTime(new java.util.Date());
    gc.get(gc.DAY_OF_WEEK_IN_MONTHDAY);
      

  4.   

    谢谢上面的两位兄弟, 麻烦大家帮我看看我的代码问题出在哪里??多谢了 int currentMonth =(dt.getMonth()+1);
    int currentDay=dt.getDay();
    int currentYear=dt.getYear(); GregorianCalendar  calDate = new GregorianCalendar();
    calDate = new GregorianCalendar(currentYear+1900,currentMonth,currentDay); int week =calDate.get(Calendar.WEEK_OF_MONTH);
      

  5.   

    import java.util.*;
    class a{
    public static void main(String args[]){
    Calendar MyDate = Calendar.getInstance();
    MyDate.setTime(new java.util.Date());
    MyDate.get(MyDate.WEEK_OF_MONTH);
    System.out.println("一个月里面第" + MyDate.get(MyDate.WEEK_OF_MONTH) +"星期");

    }
    }
      

  6.   

    realplay():
       多谢你,但是为什么有的时候会出来第5周啊???
      

  7.   

    int currentMonth =(dt.getMonth()+1);
    这里不能加一,因为java里的月份是从0-11的,你要是加一后,在用calDate = new GregorianCalendar(currentYear+1900,currentMonth,currentDay);
    这个实例花一个date对象,当然出错了。