1. 程式人生 > 其它 >util.Date 與 sql.Date 日期

util.Date 與 sql.Date 日期

技術標籤:Javajava資料庫

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);
    }
}