java.util.date a java.sql.date in Java

Rupam Yadav 12 ottobre 2023
  1. Converti java.util.Date in java.sql.Date usando getTime()
  2. Converti java.util.Date in java.sql.Date usando SimpleDateFormat e valueOf()
java.util.date a java.sql.date in Java

In questo articolo, discuteremo di come convertire java.util.Date in java.sql.Date usando due metodi: getTime() e valueOf().

Il java.util.Date indica il momento corrente con i millisecondi esatti dal 1 gennaio 1970 00:00:00 GMT. java.sql.Date indica solo la data nel formato SQL in cui JDBC può comprendere. La data SQL contiene solo anni, mesi e giorni, non sono presenti ora e fuso orario.

Converti java.util.Date in java.sql.Date usando getTime()

Nel primo esempio, usiamo il metodo getTime() della classe java.util.Date. Il metodo getTime(), quando chiamato, restituisce il numero di millisecondi trascorsi dal 1 gennaio 1970 alle 00:00:00 GMT. Per prima cosa creiamo un oggetto di java.util.Date e chiamiamo il metodo getTime() che restituisce i millisecondi come tipo long.

Successivamente, creiamo un oggetto di java.sql.Date che accetta i millisecondi come argomento nel costruttore. Passiamo timeInMilliSeconds e otteniamo date1 del tipo 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 date1 = new java.sql.Date(timeInMilliSeconds);

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

Produzione:

SQL Date: 2021-01-22

Converti java.util.Date in java.sql.Date usando SimpleDateFormat e valueOf()

Un altro metodo per convertire java.util.Date in java.sql.Date è valueOf(). È un metodo statico presente nella classe java.sql.Date. valueOf() accetta un argomento del tipo stringa. Questo è il motivo per cui convertiamo java.util.Date in stringa.

Poiché java.util.Date restituisce la data con l’ora, formattiamo la data accettata da java.sql.Date che è yyyy-MM-dd. Per formattare la data, creiamo un oggetto di SimpleDateFormat e passiamo il formato al suo costruttore. Chiamiamo simpleDateFormat.format(date) e passiamo la data come argomento per formattare la data.

Infine, otteniamo la data come una stringa che possiamo passare a valueOf() come argomento e ottenere il risultato come 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);
  }
}

Produzione:

SQL Date: 2021-01-22
Autore: 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

Articolo correlato - Java DateTime