Cuando se trabaja con fechas y horas en Java, a menudo es necesario convertir entre diferentes formatos de fecha. Java ofrece varias formas de lograr esto, incluyendo el uso de la clase java.text.SimpleDateFormat
y el paquete java.time
.
La clase java.text.SimpleDateFormat
permite analizar y dar formato a cadenas de fecha y hora utilizando un patrón especificado. Aquí hay un ejemplo de cómo convertir una cadena de fecha de un formato a otro:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatConverter {
public static void main(String[] args) {
String dateString = "2023-04-24 15:30:00";
String inputFormat = "yyyy-MM-dd HH:mm:ss";
String outputFormat = "MM/dd/yyyy hh:mm a";
try {
SimpleDateFormat inputFormatter = new SimpleDateFormat(inputFormat);
SimpleDateFormat outputFormatter = new SimpleDateFormat(outputFormat);
Date date = inputFormatter.parse(dateString);
String formattedDate = outputFormatter.format(date);
System.out.println("Input date: " + dateString);
System.out.println("Formatted date: " + formattedDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Uso del paquete java.time
El paquete java.time
introducido en Java 8 proporciona una forma más sólida y flexible de trabajar con fechas y horas. Aquí hay un ejemplo de cómo convertir un objeto LocalDateTime
a un formato diferente:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DateFormatConverter {
public static void main(String[] args) {
LocalDateTime dateTime = LocalDateTime.of(2023, 4, 24, 15, 30, 0);
String inputFormat = "yyyy-MM-dd HH:mm:ss";
String outputFormat = "MM/dd/yyyy hh:mm a";
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern(inputFormat);
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern(outputFormat);
String formattedDate = dateTime.format(outputFormatter);
System.out.println("Input date: " + dateTime.format(inputFormatter));
System.out.println("Formatted date: " + formattedDate);
}
}
Ambos ejemplos demuestran cómo convertir formatos de fecha y hora en Java, ya sea utilizando la clase SimpleDateFormat
o el paquete java.time
.