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 通过格式化后可以显示时分秒,也就是他时分秒的精度并没有丢失
不积跬步无以至千里