如何把java.util.Date 或 java.sql.Timestamp 的年份,月份,日子 分别取出来?

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

6 个解决方案

#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


该回复被版主删除

#4


DateFormat类

#5


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。

#6


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

假如我有一个变量 Date d

#7


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

#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


该回复被版主删除

#4


DateFormat类

#5


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。

#6


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

假如我有一个变量 Date d

#7


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