Analizando una fecha a partir de una cadena de texto

Java:
Analizando una fecha a partir de una cadena de texto

Cómo hacerlo:

Usando el paquete java.time (Recomendado en Java 8 y posteriores):

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class AnalizadorDeFecha {
    public static void main(String[] args) {
        String cadenaFecha = "2023-04-30";
        DateTimeFormatter formateador = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate fecha = LocalDate.parse(cadenaFecha, formateador);
        System.out.println(fecha); // Salida: 2023-04-30
    }
}

Usando SimpleDateFormat (Enfoque más antiguo):

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class AnalizadorDeFecha {
    public static void main(String[] args) {
        String cadenaFecha = "30/04/2023";
        SimpleDateFormat formateador = new SimpleDateFormat("dd/MM/yyyy");
        try {
            Date fecha = formateador.parse(cadenaFecha);
            System.out.println(fecha); // El formato de salida depende del formato predeterminado de tu sistema
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

Usando Bibliotecas de Terceros (por ejemplo, Joda-Time):

Joda-Time ha sido una biblioteca de terceros significativa, pero ahora está en modo de mantenimiento debido a la introducción del paquete java.time en Java 8. Sin embargo, para aquellos que usan versiones de Java anteriores a la 8, Joda-Time es una buena opción.

import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class AnalizadorDeFecha {
    public static void main(String[] args) {
        String cadenaFecha = "2023-04-30";
        DateTimeFormatter formateador = DateTimeFormat.forPattern("yyyy-MM-dd");
        LocalDate fecha = LocalDate.parse(cadenaFecha, formateador);
        System.out.println(fecha); // Salida: 2023-04-30
    }
}

Ten en cuenta que, al trabajar con fechas, siempre debes ser consciente de la configuración de la zona horaria si estás analizando o formateando fechas y horas en lugar de solo fechas.