Java - java.util.Dateをjava.sql.Dateに変換する

java.util.Datejava.sql.Dateの違いは

  • java.util.Dateは1970年1月1日00:00:00 GMTに基づいて計算された時間情報を持ち、年/月/日/時/分/秒のすべての情報を持っています
  • java.sql.DateにはSQL形式の日付情報しかありません。 SQL Date は年/月/日情報のみを持ち、時/分/秒単位の情報は持っていません

この記事では、java.util.Datejava.sql.Dateに変換する方法を紹介します。

1. java.util.Datejava.sql.Dateに変換する(1)

java.util.DateからMillisecond値を取得し、java.sql.Dateコンストラクタの引数に渡してオブジェクトを作成します。

import java.util.Date;

public class UtilDateToSqlDate {

    public static void main(String[] args) {

        Date date = new Date();

        long timeInMilliSeconds = date.getTime();
        java.sql.Date sqlDate = new java.sql.Date(timeInMilliSeconds);

        System.out.println("Util Date: " + date);
        System.out.println("timeInMilliSeconds: " + timeInMilliSeconds);
        System.out.println("SQL Date: " + sqlDate);
    }
}

Output:

Util Date: Mon Jan 31 19:29:25 KST 2022
timeInMilliSeconds: 1643624965100
SQL Date: 2022-01-31

2. java.util.Datejava.sql.Dateに変換する(2)

java.util.Date オブジェクトから SimpleDateFormat で yyyy-MM-dd 形式の文字列を作成し、この文字列を java.sql.Date.valueOf() の引数に渡してオブジェクトを生成します。

import java.text.SimpleDateFormat;
import java.util.Date;

public class UtilDateToSqlDate2 {

    public static void main(String[] args) {

        Date date = new Date();

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String formattedDate = simpleDateFormat.format(date);
        java.sql.Date date1 = java.sql.Date.valueOf(formattedDate);

        System.out.println("Util Date: " + date);
        System.out.println("formattedDate: " + formattedDate);
        System.out.println("SQL Date: " + date1);
    }
}

Output:

Util Date: Mon Jan 31 19:25:43 KST 2022
formattedDate: 2022-01-31
SQL Date: 2022-01-31

References

Related Posts

codechachaCopyright ©2019 codechacha