解决方案 »

  1.   

    package mh_net.kingsoft;import java.util.Calendar;
    import java.util.GregorianCalendar;
    import java.lang.reflect.Field;import qgb.T;
    import qgb.text.Text;public class KS_UrlTest { public static void main(String[] args) {
    GregorianCalendar gc = new GregorianCalendar();
    Field[] yf = Calendar.class.getDeclaredFields();

    T.print( Calendar.class.toString()+" Test");
    T.print(Text.repeat(33, "-"));
    T.print("%-20s|%-3s|%-9s","FieldName","Min","Max");
    T.print(Text.repeat(33, "-"));
    try {
    for (int i = 0; i < 16; i++) {
    T.print("%-20s|%-3s|%-9s", yf[i].getName(),
    gc.getActualMinimum((Integer) yf[i].get(null)),
    gc.getActualMaximum((Integer) yf[i].get(null)));
    }

    } catch (IllegalArgumentException e) {
    e.printStackTrace();
    } catch (IllegalAccessException e) {
    e.printStackTrace();
    }
    }
    }
      

  2.   

    week_of_month--当前月第几周,如果上月最后一个周末在当前月,则在当前月的这周week_of_month按0算
      

  3.   

     那为什么不说:
    WEEK_OF_YEAR --今年第几周,如果去年最后一个周末在今年,则在今年的这周WEEK_OF_YEAR按0算 呢?
      

  4.   

    以下摘自java se 6 api文档:WEEK_OF_YEARpublic static final int WEEK_OF_YEAR
    get 和 set 的字段数字,指示当前年中的星期数。正如 getFirstDayOfWeek() 和 getMinimalDaysInFirstWeek() 所定义的那样,一年中第一个星期的值为 1。子类定义一年第一个星期之前的天数,即 WEEK_OF_YEAR 的值。
    另请参见:
    getFirstDayOfWeek(), getMinimalDaysInFirstWeek(), 常量字段值
    WEEK_OF_MONTHpublic static final int WEEK_OF_MONTH
    get 和 set 的字段数字,指示当前月中的星期数。正如 getFirstDayOfWeek() 和 getMinimalDaysInFirstWeek() 所定义的那样,一个月中第一个星期的值为 1。子类定义一个月第一个星期之前的天数,即 WEEK_OF_MONTH 的值。
    另请参见:
    getFirstDayOfWeek(), getMinimalDaysInFirstWeek(), 常量字段值
      

  5.   

    个人感觉java的Calendar设计得很挫
      

  6.   

    我也觉得Calendar很反直觉,比如月份是从0开始有比较好用的第三方时间类操作的实现么?
      

  7.   

    Java 8 对Calendar做了大幅度的改进http://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html