java.util.date a java.sql.date en Java
-
Convertir
java.util.Date
ajava.sql.Date
usandogetTime()
-
Convertir
java.util.Date
ajava.sql.Date
usandoSimpleDateFormat
yvalueOf()
En este artículo, vamos a discutir cómo podemos convertir java.util.Date
a java.sql.Date
utilizando dos métodos - getTime()
y valueOf()
.
El método java.util.Date
indica el momento actual con los milisegundos exactos desde el 1 de enero de 1970 00:00:00 GMT. El java.sql.Date
dice sólo la fecha en el formato de SQL en el que el JDBC puede entender. La fecha SQL sólo contiene años, meses y días, no hay hora ni zona horaria presentes.
Convertir java.util.Date
a java.sql.Date
usando getTime()
En el primer ejemplo, utilizamos el método getTime()
de la clase java.util.Date
. El método getTime()
, al ser llamado, devuelve el número de milisegundos que han pasado desde el 1 de enero de 1970 00:00:00 GMT. Primero creamos un objeto de la clase java.util.Date
y llamamos al método getTime()
que devuelve los milisegundos como tipo long
.
A continuación, creamos un objeto de java.sql.Date
que acepta milisegundos como argumento en el constructor. Pasamos timeInMilliSeconds
y obtenemos date1
de 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);
}
}
Producción :
SQL Date: 2021-01-22
Convertir java.util.Date
a java.sql.Date
usando SimpleDateFormat
y valueOf()
Otro método para convertir java.util.Date
a java.sql.Date
es valueOf()
. Es un método estático presente en la clase java.sql.Date
. valueOf()
toma un argumento de tipo cadena. Por eso convertimos java.util.Date
en string.
Como java.util.Date
devuelve la fecha con la hora, formateamos la fecha aceptada por java.sql.Date
que es yyyy-MM-dd
. Para formatear la fecha, creamos un objeto de SimpleDateFormat
y pasamos el formato en su constructor. Llamamos a simpleDateFormat.format(date)
y pasamos date como argumento para formatear la fecha.
Finalmente, obtenemos la fecha como una cadena que podemos pasar a valueOf()
como argumento y obtenemos el resultado como 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);
}
}
Producción :
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