Maison >Java >javaDidacticiel >Comment convertir efficacement java.util.Date en java.time.LocalDate ?
Conversion de java.util.Date en java.time.LocalDate
Problème :
Comment convertir efficacement un objet java.util.Date au nouveau format java.time.LocalDate introduit dans le JDK 8/JSR-310 ?
Réponse courte :
Pour réaliser la conversion, utilisez le code suivant :
Date input = new Date(); LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Java 9 Solution :
Une alternative plus efficace a été ajoutée dans Java SE 9 :
Date input = new Date(); LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
Explication :
Contrairement à son nom l'indique, un objet java.util.Date désigne un instant dans le temps, plutôt qu'une date spécifique. Pour convertir un java.util.Date en un java.time.LocalDate compatible, les étapes suivantes sont nécessaires :
Ce processus de conversion tient compte du fait qu'un java.util.Date ne contient pas d'informations sur le fuseau horaire. La spécification du fuseau horaire permet la conversion précise en une date locale spécifique.
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!