Conversion de java.util.Date en java.time.LocalDate
L'API de date et d'heure de Java a été révisée dans JDK 8/JSR-310 , introduisant un nouveau paradigme pour la gestion des opérations liées aux dates. Une tâche courante dans cette transition consiste à convertir les objets java.util.Date existants au nouveau format java.time.LocalDate.
Réponse courte
Pour convertir un java. util.Date à LocalDate, suivez ces étapes :
Date input = new Date(); LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Explication
java.util.Date représente un instant sans aucune information de fuseau horaire. Cependant, LocalDate représente une date de calendrier spécifique sans heure ni fuseau horaire.
Pour convertir une Date en LocalDate, vous devez d'abord convertir Date en Instant à l'aide de la méthode toInstant(). Un Instant n'est associé à aucun fuseau horaire.
Ensuite, vous devez appliquer un fuseau horaire à l'Instant pour obtenir un objet ZonedDateTime. Vous pouvez utiliser ZoneId.systemDefault() pour obtenir le fuseau horaire système par défaut.
Enfin, vous pouvez extraire le composant LocalDate de l'objet ZonedDateTime à l'aide de la méthode toLocalDate().
Réponse Java 9
Java SE 9 a introduit une alternative plus simple à ce qui précède conversion :
Date input = new Date(); LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
Cette méthode convertit directement la Date en LocalDate sans avoir besoin d'un objet ZonedDateTime intermédiaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!