Java文档中对这些字段的解释是这样的:
static int DAY_OF_MONTH 
          get 和 set 的字段数字,指示一个月中的某天。 
static int DAY_OF_WEEK 
          get 和 set 的字段数字,指示一个星期中的某天。 
static int DAY_OF_WEEK_IN_MONTH 
          get 和 set 的字段数字,指示当前月中的第几个星期。 我的程序:
import java.util.*;public class GetNextWeekDate {
public static void main(String[] args) {
// TODO: Add your code here
Calendar cl = Calendar.getInstance();
System.out.println(cl.getTime());
System.out.println("cl.DAY_OF_WEEK = "+cl.DAY_OF_WEEK);
System.out.println("cl.DAY_OF_MONTH = "+cl.DAY_OF_MONTH);
System.out.printl("cl.DAY_OF_WEEK_IN_MONTH= "+cl.DAY_OF_WEEK_IN_MONTH);
}
}运行结果为:
Wed Feb 22 14:42:46 CST 2006
cl.DAY_OF_WEEK = 7  明明是星期三,怎么输出 7 呢
cl.DAY_OF_MONTH = 5   既然指示一个月中的某天,为什么是 5 呢
cl.DAY_OF_WEEK_IN_MONTH = 8  一个月至多也就是五个星期,怎么会是 8 ?

解决方案 »

  1.   

    要用get()方法
    System.out.println("DAY_OF_MONTH = "+cl.get(Calendar.DAY_OF_MONTH));
      

  2.   

    cl.get(DAY_OF_WEEK)找上面的写就okDAY_OF_WEEK 这些 静态属性表示值的类型 ,不表示值
      

  3.   

    这些是Calender类的静态属性,而不是实例的日期值
      

  4.   

    只是些常量,象是索引,楼主只要 System.out.println(cl); 就可以亲眼看一看 cl 中的字段了。:)