Java 中從 java.util.date 轉為 java.sql.date

Rupam Yadav 2023年1月30日 2021年2月7日
  1. 使用 getTime()java.util.Date 轉換為 java.sql.Date
  2. 使用 SimpleDateFormatvalueOf()java.util.Date 轉換為 java.sql.Date
Java 中從 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

使用 SimpleDateFormatvalueOf()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
Author: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

相關文章 - Java DateTime