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

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

DDD
DDDoriginal
2024-12-10 07:30:12519parcourir

How to Convert java.util.Date to java.time.LocalDate?

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

Le package java.time introduit dans JDK 8/JSR-310 fournit une API de date et d'heure plus moderne et complète que l'ancienne classe java.util.Date. La conversion d'un objet java.util.Date en nouveau java.time.LocalDate peut être effectuée efficacement en suivant les étapes suivantes :

1. Convertir en instantané :

La classe java.util.Date représente un instant en millisecondes depuis l'époque. Pour convertir un objet java.util.Date en instant, utilisez la méthode toInstant().

Date input = new Date();
Instant instant = input.toInstant();

2. Appliquer le fuseau horaire :

Un instant ne contient pas d'informations sur le fuseau horaire. Pour le convertir en date locale, nous devons appliquer un fuseau horaire. Utilisez la méthode atZone() avec le fuseau horaire souhaité.

ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());

3. Extraire LocalDate :

Un ZonedDateTime contient à la fois la date et l'heure, ainsi que le fuseau horaire. Pour extraire le LocalDate, utilisez la méthode toLocalDate().

LocalDate date = zdt.toLocalDate();

Simplification de Java 9 :

Java 9 a introduit une nouvelle méthode pour simplifier cette conversion :

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

Cette méthode convertit directement l'instant en LocalDate en utilisant le fuseau horaire par défaut. Elle est plus concise et efficace que l'approche précédente.

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