Convertir de variable String a variable Date

Un problema típico que se nos suele presentar en cualquier proyecto es el de la necesidad de recuperar una fecha en formato String y convertirla en un Date que nos permita trabajar con ella en la aplicación. El proceso inverso es bastante sencillo (pasar de un Date a un String), pero la acción de traducir un String a un Date no es algo tan obvio para un programador principiante. Vamos a ver hoy una forma de hacer dicha conversión, aunque por supuesto en Java tendremos muchas más alternativas. Una de las mejores cosas de este lenguaje es que nos permite usar diferentes caminos para "llegar a Roma". 

 


 

Entrando ya en materia, a continuación os muestro un método con una de las formas populares de trasladar un String a una variable Date.


    // **************************************************

    public Date extraerFecha(String entrada) {

            

        // Calculamos la fecha

        SimpleDateFormat formato = new SimpleDateFormat(FORMATO_FECHA);

           

        Date fechaDate = null;

        try {

               fechaDate = formato.parse(entrada);

        } catch (ParseException e) {

               // TODO Auto-generated catch block

               e.printStackTrace();

        }

           

        return fechaDate;

       

    }

    // **************************************************


Obviamente, aquí tenemos indeterminada la constante FORMATO_FECHA, ya que en ella tendremos que indicar el formato de texto con el que recibiremos la fecha en nuestro String de entrada.


Por ejemplo, imaginemos el caso de que recibimos las fechas en un String con la siguiente estructura (se trata de un ejemplo real de una aplicación, en realidad).

FECHAVL:EUR
2021-07-15 244,140000
2021-07-14 245,690000
2021-07-13 246,540000
2021-07-12 246,810000
2021-07-09246,210000


Para indicarle a nuestro conversor de qué forma tiene que recoger esas fechas en formato String y traducirlas a un Date, la constante FORMATO_FECHA tendría que ser de la siguiente forma:


private static final String FORMATO_FECHA = "yyyy-MM-dd";


De esta forma, si enviamos una fecha String con la estructura "yyyy-MM-dd" (por ejemplo, 2021-07-15), nuestro método nos devolverá un objeto Date que contendrá la fecha indicada. Esto ya nos permitirá realizar con ella todas las operaciones que se precisen en nuestra App, cosa que no podríamos haber hecho con una fecha String. 


Pues nada, espero que esta forma de convertir String a Date nos resulte de utilidad. Se trata de una cosa relativamente sencilla, pero la idea es que este post nos ayude a ahorrar tiempo a la hora de buscar métodos para realizar la conversión. Cualquier comentario al respecto será bienvenido...


Saludos.


Comentarios

Entradas populares de este blog

Componentes y Ventanas de Java Swing

Creación de Webservice SOAP básico

Eliminar duplicados de una Lista en Java