今天总结一下工具类中Date类型。
java.sql.Date,java.sql.Time,和java.sql.Timestamp(时间戳记)都是java.util.Date的子类。
java.sql.Date用于数据库中RessultSet,表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数。
java.util.Date用于普通日期操作。
在通常的使用中有这么几种情形:
一.
1) String——>java.util.Date
方法一。java.util.Date uDate=java.util.Date("2010-10-23")(从 JDK 1.1 开始过时)
方法二。java.util.Date uDate=new SimpleDateFormat("yyyy-MM-dd").parse("2010-10-23");
2) java.util.Date——>String
方法一。String s=new java.util.Date().toString();(转义形式为 String:
dow mon dd hh:mm:ss zzz yyyy)
方法二。String s=new SimpleDateFormat("yyyy-MM-dd").format( new java.util.Date());
二.
1)String——>java.sql.Date
方法一。java.sql.Date sDate=java.sql.Date.valueOf("2010-10-23"); 转义形式只能为: yyyy-mm-dd
方法二。java.util.Date uDate=new SimpleDateFormat("yyyy-MM-dd").parse("2010-10-23 hh:mm:ss");
java.sql.Date sDate=new java.sql.Date(uDate.getTime()); 可以保存精确值
方法三。StringTokenizer st = new StringTokenizer( "2002-08-09", "-");
java.sql.Date date = new java.sql.Date
(Integer.parseInt(st.nextToken()),Integer.parseInt(st.nextToken()),Integer.parseInt(st.nextToken()));
2)java.sql.Date——>String
方法一。String s=new java.sql.Date().toString(); (转义形式为 String
:yyyy-mm-dd )
方法二。String s=new SimpleDateFormat("yyyy-MM-dd").format(new java.sql.Date());
三.
1)java.util.Date——>java.sql.Date
java.sql.Date sDate=new java.sql.Date(new java.util.Date ().getTime());
2)java.sql.Date——> java.util.Date
java.util.Date uDate=new java.util.Date(new java.sql.Date ().getTime());
由此可见:java.util.Date与其子类间的转换均可以使用getTime()方法。java.sql.Timestamp是个更高精确值的时间,自己用的不多,也就不说了。
另外,java.util.Date类中的getYear()要加上1900才可得到实际值,getMonth()则要加上1。
四.Calendar java.util.Date uDate=Calendar.getInstance().getTime()。