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 通過格式化后可以顯示時分秒,也就是他時分秒的精度並沒有丟失