DAY_OF_MONTH 之类是作为get和set方法的参数,是随便定义的数值正确用法是System.out.println(now.get(now.DAY_OF_MONTH));
也可以用System.out.println(now.get(GregorianCalendar.DAY_OF_MONTH));

解决方案 »

  1.   

    是助记常数。哪有这样用的。^_^
    程序里用来给switch做判断的。
    如(方法名虚构):
    getDatePart(int part)
    part是一个表示要日期哪一部分的参数。
    假如定义0代表天,1代表月……
    那在调用时使用getDatePart(0)就返回天了。但记这个参数什么数字表示什么部分实在是费力也是不合算的。
    因此这种情况多在类中有如下形式定义:
    public static final int DAY_OF_MONTH=1。
    然后使用时getDatePart(类名.助记常数);
      

  2.   

    System.out.println(now.get(now.DAY_OF_MONTH));
    输出的结果是什么,请指教
    《------仁者见仁,智者见智-----》
      

  3.   

    System.out.println(now.DAY_OF_MONTH);
    System.out.println(now.DAY_OF_YEAR);
    是怎么区分DAY_OF_MONTH于DAY_OF_YEAR的,程序上也没定义呀??《------仁者见仁,智者见智-----》
      

  4.   

    拜托,看看jdk的api吧,你print的是什么呀!!!
    java.util.Calendar 
     public static final int AM 0 
     public static final int AM_PM 9 
     public static final int APRIL 3 
     public static final int AUGUST 7 
     public static final int DATE 5 
     public static final int DAY_OF_MONTH 5 
     public static final int DAY_OF_WEEK 7 
     public static final int DAY_OF_WEEK_IN_MONTH 8 
     public static final int DAY_OF_YEAR 6 
     public static final int DECEMBER 11 
      

  5.   

    就按顾名思义来了解就对了,具体使用当然要看看help了。 当前时间或者指定的某一个时间的DAY_OF_MONTH 表示某月的第几天,DAY_OF_YEAR表示某年的第几天。
      

  6.   

    对,红狐说的,你打印的是一些常量,想得到是月的第几天和年的第几天,请看以下办法:
    /**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2003</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */
    //本程序在jbuilder9调试通过,只计算了是年的第几天,其它请如法炮制
    import java.text.SimpleDateFormat;
    import java.text.ParsePosition;
    import java.util.Calendar;
    import java.util.Date;
    public class oo {
      int x;
      oo() {
        SimpleDateFormat ymd = new SimpleDateFormat("yyyyMMdd"); //设置格式化样式
    //假如是20030420哈
         for (x = 1; x < 365; x++) {
        Date date = ymd.parse("20030201", new ParsePosition(0)); //字符串转换成时间
        Calendar rightNow = Calendar.getInstance(); //获取一个日历对象
      //假定20030101是第一天哈,解个方程,可能太复杂了,或许有简单点的,晕
        rightNow.setTime(date);
    rightNow.add(Calendar.DATE ,-x);
          Date dt1=rightNow.getTime();
          String s = ymd.format(dt1);
          if (s.equals("20030101")) {
            System.out.println(x+1);
            System.exit(1);
          }
        }
      }  public static void main(String[] arg) {
        oo o = new oo();
      }
    }
      

  7.   

    之所以容易引起混淆,是因为风格与Java类库的其他类不太一致,一般其他类会用getDayOfMonth()方法,而不是用get(...DATA_OF_MONTH)那么到底这样做有什么道理呢?有没有专家意见?
      

  8.   

    DAY_OF_YEAR 等你可以当作是 C/C++ 中的宏定义。
    它的值是6,表示“第”6类。(不一定真的第6类)
    now.get( GregorianCalendar.DAY_OF_MONTH );
    == now.get( 6 );
    意义是:获取 当前日期是一年中的第几天。