如何把java.util.Date 或 java.sql.Timestamp 的年份,月份,日子 分别取出来?
直接调用 getYear(),getMonth() 等函数是不行的. 这些函数都是废弃的了,且出来的结果根本不正确.

解决方案 »

  1.   

    我本来想把Date 转换成字符串 yyyymmdd 然后截取字符串,但这样做好象不太好. 求更好的方法
      

  2.   

    用java.util.Calendar,Date多数方法都被它代替了,并且它的功能更强大。 Calendar cal = Calendar.getInstance();
     
     int day =  cal.get(Calendar.DATE); 
     
     int month =cal.get(Calendar.MONTH); 
     
     int year = cal.get(Calendar.YEAR) ;
      

  3.   

    Date中的这些方法已经被Calendar类中的get()和set()方法所取代了。参考:  Calendar c = Calendar.getInstance(); //这句好像很浪费,我也不知道该怎么处理
      c.setTime(date);//将Date或Timestamp放进去
      System.out.println(c.get(Calendar.YEAR));    //取出年份
      System.out.println(c.get(Calendar.MONTH)+1); //取出月份,要加1,因为是从0开始的(!)不知道为什么Sun要这样?
      System.out.println(c.get(Calendar.DATE));    //取出日期
    Calendar还有好多的常量可以参考JDK API。
      

  4.   

    to liusx0113(魔狂) 
    我的是现在用的是Date类型,如何把这个Date与Calendar 联系起来呀? 你的代码中好象没有Date变量.假如我有一个变量 Date d
      

  5.   

    哦,bao110908 已经贴出答案了.谢谢