public static void main(String[] args) {

Date d = new Date(2012,3,2);

Calendar date  = Calendar.getInstance();
date.setTime(d);
System.err.println(date.get(Calendar.YEAR)); //输出3912 }就是想把Date转化为Calendar ,谁知获取年份时输出的事3912,而不算2012,这是怎么回事?

解决方案 »

  1.   

    看我的
    Date time = new Date();
    System.out.println("year = " + time.YEAR):
      

  2.   

    public static void main(String[] args) {Date d = new Date(System.currentTimeMillis());Calendar date  = Calendar.getInstance();
    date.setTime(d);
    System.err.println(date.get(Calendar.YEAR)); //输出3912}
    已经输出成功 是2013  哈哈 
      

  3.   

    Date@Deprecated
    public Date(int year,
                           int month,
                           int date)
    已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date) 或 GregorianCalendar(year + 1900, month, date) 取代。
    分配 Date 对象并初始化此对象,以表示由 year、month 和 date 参数指定的一天的开始时间(本地时间晚上 12 时)。
    参数:
    year - 减 1900 的年份。
    month - 0-11 的月份。
    date - 一月中 1-31 之间的某一天。
    另请参见:
    Calendar
      

  4.   

    一般都是calendar转date 为什么要date转calendar 直接Calendar date  = Calendar.getInstance();
    date.set(2013,3,2)不就行了?