天天看點

java.sql.date和java.util.date的互相轉換

在進行web開發的時候,發現mysql資料庫中Date類型是java.sql.Date,但是java本身使用的是java.util.Date,是以需要進行互相轉換,在這裡整理一下自己了解到的東西。

兩者的差別:

java.util.Date 就是在除了SQL語句的情況下面使用

java.sql.Date 是針對SQL語句使用的,它隻包含日期而沒有時間部分

其中,java.sql.Date是java.util.Date的子類

下面是在開發中比較常用到的方法:

//把string格式的日期轉為java.sql.date儲存到資料庫上
// 例如-- 轉為 java.sql.date

String str = "2017-01-02";
java.util.Date date1 = simpleDateFormat.parse(str);
java.sql.Date date2 = new java.sql.Date(date1.getTime());
System.out.println(date1);
System.out.println(date2);
           
//java.sql.date擷取目前時間

java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
System.out.println(date.toString());
           
//java.util.date擷取目前時間

java.util.Date date = new Date();
System.out.println(date);
String dateStr = simpleDateFormat.format(date);
System.out.println(dateStr);
           
//java.sql.date轉換為java.util.date

java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
java.util.Date date2 = new java.util.Date(date.getTime());
System.out.println(simpleDateFormat.format(date2));