Lorsque vous travaillez avec des dates et des heures en Java, vous avez souvent besoin de convertir entre différents formats de date. Java propose plusieurs méthodes pour y parvenir, notamment en utilisant la classe java.text.SimpleDateFormat
et le package java.time
.
La classe java.text.SimpleDateFormat
vous permet d'analyser et de formater des chaînes de caractères de date et d'heure en utilisant un modèle spécifié. Voici un exemple de conversion d'une chaîne de date d'un format à un autre :
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();
}
}
}
Utilisation du package java.time
Le package java.time
introduit dans Java 8 offre une manière plus robuste et flexible de travailler avec des dates et des heures. Voici un exemple de conversion d'un objet LocalDateTime
en un autre format :
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);
}
}
Les deux exemples montrent comment convertir des formats de date et d'heure en Java, en utilisant soit la classe SimpleDateFormat
, soit le package java.time
.