Java 中從 java.util.date 轉為 java.sql.date
-
使用
getTime()
將java.util.Date
轉換為java.sql.Date
-
使用
SimpleDateFormat
和valueOf()
將java.util.Date
轉換為java.sql.Date
在本文中,我們將討論如何使用兩個方法 - getTime()
和 valueOf()
,將 java.util.Date
轉換為 java.sql.Date
。
java.util.Date
告訴了當前時刻與 1970 年 1 月 1 日 00:00:00 GMT 以來的精確毫秒。java.sql.Date
只以 JDBC 能理解的 SQL 格式告訴日期。SQL 日期只包含年、月、日,沒有時間和時區存在。
使用 getTime()
將 java.util.Date
轉換為 java.sql.Date
在第一個例子中,我們使用 java.util.Date
類的 getTime()
方法。當呼叫 getTime()
方法時,返回自 1970 年 1 月 1 日 00:00:00 GMT 以來已經過去的毫秒數。我們首先建立一個 java.util.Date
的物件,並呼叫 getTime()
方法,以 long
型別返回毫秒數。
接下來,我們建立一個 java.sql.Date
的物件,在建構函式中接受毫秒作為引數。我們傳遞 timeInMilliSeconds
,我們得到 java.sql.Date
型別的 date1
。
import java.util.Date;
public class UtilDateToSqlDate {
public static void main(String[] args) {
Date date = new Date();
long timeInMilliSeconds = date.getTime();
java.sql.Date date1 = new java.sql.Date(timeInMilliSeconds);
System.out.println("SQL Date: " + date1);
}
}
輸出:
SQL Date: 2021-01-22
使用 SimpleDateFormat
和 valueOf()
將 java.util.Date
轉換為 java.sql.Date
將 java.util.Date
轉換為 java.sql.Date
的另一種方法是 valueOf()
。它是存在於 java.sql.Date
類中的一個靜態方法。valueOf()
接受一個字串型別的引數。這就是為什麼我們將 java.util.Date
轉換為字串的原因。
由於 java.util.Date
返回帶時間的日期,我們將 java.sql.Date
接受的日期格式化為 yyyy-MM-dd
。為了格式化日期,我們建立一個 SimpleDateFormat
物件,並將格式傳遞到其建構函式中。我們呼叫 simpleDateFormat.format(date)
並將 date 作為引數傳遞給它來格式化日期。
最後,我們得到的日期是一個字串,我們可以將其作為引數傳遞給 valueOf()
,並得到結果為 java.sql.Date
。
import java.text.SimpleDateFormat;
import java.util.Date;
public class UtilDateToSqlDate {
public static void main(String[] args) throws IllegalArgumentException {
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("SQL Date: " + date1);
}
}
輸出:
SQL Date: 2021-01-22
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn