util.Date 與 sql.Date 日期
阿新 • • 發佈:2021-01-30
1.問題描述:
資料庫儲存的資料型別為java.sqL.Date。而我們Java應用層儲存日期型別為java.utilDate。當我們用Java應用程式插入帶有日期的資料到資料庫中時,需要進行轉換。
2.util.Date 與 sql.Date :
java.util.Date:
Java語言常規應用層面的日期型別,可以通過字串建立對應的時間物件。
無法直接通過JDBC插入到資料庫。
|
java.sql.Date:
不可以通過字串建立對應的時間物件,只能通過毫秒值建立物件(1970年至今的毫秒值)。
可以直接通過JDBC插入到資料庫。
java.sql中的Date是java.util的子類,可以直接將前者轉化為後者,反之不能直接轉換!!!
3.SimpleDateFormat:
格式化和解析日期的具體類。允許進行格式化(日期->文字)、解析(文字→日期)和規範化。
4.util.Date轉化為sql.Date格式:
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
上著轉化為標準的:yyy-MM-dd格式!!!
5.示例程式碼:
import java.text.ParseException; import java.text.SimpleDateFormat; public class DateUtils { private static SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd"); //1.將字串轉化為util.date public static java.util.Date strToUtil(String str){ try { java.util.Date date=sdf.parse(str); return date; } catch (ParseException e) { e.printStackTrace(); } return null; } //2.將util.Date轉化為sql.Date public static java.sql.Date utilToSql(java.util.Date utilDate){ return new java.sql.Date(utilDate.getTime()); } //3.將util.Date轉化為字串 public static String utilToStr(java.util.Date date){ return sdf.format(date); } }