java.util.date a java.sql.date in Java
-
Converti
java.util.Date
injava.sql.Date
usandogetTime()
-
Converti
java.util.Date
injava.sql.Date
usandoSimpleDateFormat
evalueOf()
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
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