Maison >Java >javaDidacticiel >Comment convertir un java.util.Date en java.time.LocalDate ?

Comment convertir un java.util.Date en java.time.LocalDate ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-09 00:53:09366parcourir

How Do I Convert a java.util.Date to a java.time.LocalDate?

Conversion de java.util.Date en java.time.LocalDate

Dans Java 8 et versions ultérieures, la classe java.util.Date a a été remplacé par la classe java.time.LocalDate pour représenter les dates. Par conséquent, il devient nécessaire de convertir les objets Date en objets LocalDate.

Processus de conversion

  1. Obtenir un instantané : Convertir l'objet Date dans un Instant en utilisant toInstant() méthode.

    Date input = new Date();
    Instant instant = input.toInstant();
  2. Spécifiez un fuseau horaire : Étant donné que les objets Date ne disposent pas d'informations sur le fuseau horaire, choisissez un fuseau horaire. Il peut s'agir de la valeur par défaut du système en utilisant ZoneId.systemDefault() ou d'une valeur personnalisée.

    ZoneId zone = ZoneId.systemDefault();
  3. Obtenez un ZonedDateTime : Combinez l'instantané et le fuseau horaire pour créer un ZonedDateTime.

    ZonedDateTime zdt = instant.atZone(zone);
  4. Extraire le LocalDate : Extrayez la date locale de ZonedDateTime à l'aide de la méthode toLocalDate().

    LocalDate date = zdt.toLocalDate();

Optimisation Java 9 et versions ultérieures

Java 9 a introduit une méthode simplifiée pour cela conversion :

LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());

Explication

  • Un java.util.Date représente un instant dans le temps, pas spécifiquement une date.
  • Instant ne dispose pas d'informations sur le fuseau horaire, un fuseau horaire doit donc être spécifié lors de la conversion en LocalDate.
  • ZonedDateTime contient à la fois des informations sur la date et l'heure locales, ainsi que le fuseau horaire et le décalage par rapport à GMT/UTC.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn