java.util.Date与java.sql.Date

java.util.date与java.sql.date

java.util.date是java.sql.date的父类,其中java.util.date用于除了数据库以外的任何地方。两者都有getTime的方法(获取long类型)。所以可以互相转换

java.sql.date date_sql = new java.sql.date(System.currentTime());
java.util.date date = new java,util.date(date_sql.getTime());

反过来转换也是一样的。
另一种转换时:

java.util.date date = new java.util.date(date_sql);//用子类创建父类

preparement中getDate()与setDate(datesql)中返回与传入的参数都是java.sql.date,所以要先进行转换

java.sql.date 没有无参的构造函数,必须传值,java.util.date可以使用无参构造函数,获取的是当前的时间

java.sql.date的时间格式是年-月-日,没有时间部分。
强制从datesql获取时分秒,会抛异常。
但是不代表没有时间部分的精度。

datesql.getTime() == date.getTime()   //true

两个对象都能进行格式化,使用类SimpleDateFormat

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd  hh:mm:ss");
java.util.Date date = new java.util.Date();
System.out.println(simpleDateFormat.formate(date));
java.sql.Date dateSql = new java.sql.Date(date.getTime());
System.out.println(simpleDateFormat.formate(dateSql));  // 通过format转换后可以显示时分秒

注:java.sql.date 通过格式化后可以显示时分秒,也就是他时分秒的精度并没有丢失

posted @ 2017-12-04 16:13  别离的岁月  阅读(13339)  评论(0编辑  收藏  举报