天天看點

Java中util.Date和sql.Date的互相轉換

Java中Date的兩個類

  • java.util.Date通常情況下用它擷取目前時間或構造時間
  • java.sql.Date是針對SQL語句使用的,它隻包含日期而沒有時間部分

它們都有getTime方法傳回毫秒數,都可以直接構造

代碼示例:

// util.date轉換成sql.date
java.util.Date utilDate = new java.util.Date();	//擷取目前時間
System.out.println(utilDate);
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println(sqlDate);

// sql.date轉換成util.date
java.sql.Date sqlDate1 = new java.sql.Date(new java.util.Date().getTime());
System.out.println(sqlDate1);
java.util.Date utilDate1 = new java.util.Date(sqlDate1.getTime());
System.out.println(utilDate1);
           

另外,不管是util.Date還是sql.Date都可以使用SimpleDateFormat去格式化日期格式。

關于日期格式問題可參考我的這篇文章:Java日期格式問題

java.util.Date

在jdk1.8之後有新的替代了,具體請參見這篇文章:溫顧 Java 8 日期 API