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.