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
Libérer: 2024-12-09 00:53:09
original
362 Les gens l'ont consulté

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();
    Copier après la connexion
  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();
    Copier après la connexion
  3. Obtenez un ZonedDateTime : Combinez l'instantané et le fuseau horaire pour créer un ZonedDateTime.

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

    LocalDate date = zdt.toLocalDate();
    Copier après la connexion

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());
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal