java.util.date a java.sql.date en Java

Rupam Yadav 12 octubre 2023
  1. Convertir java.util.Date a java.sql.Date usando getTime()
  2. Convertir java.util.Date a java.sql.Date usando SimpleDateFormat y valueOf()
java.util.date a java.sql.date en Java

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 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

Artículo relacionado - Java DateTime