Maison > Java > javaDidacticiel > Comment Java peut-il calculer efficacement le nombre de jours entre deux dates ?

Comment Java peut-il calculer efficacement le nombre de jours entre deux dates ?

Patricia Arquette
Libérer: 2024-12-13 08:17:10
original
439 Les gens l'ont consulté

How Can Java Efficiently Calculate the Number of Days Between Two Dates?

Calcul des jours entre deux dates avec Java

Déterminer la différence entre deux dates est une tâche de programmation courante. Java fournit plusieurs classes et méthodes pour simplifier ce processus, notamment la gestion des années bissextiles et de l'heure d'été.

Calcul des jours à l'aide de l'API Time de Java 8

Java 8 a introduit le nouveau Java. package time, qui fournit une API plus moderne et plus facile à utiliser pour travailler avec les dates et les heures. Pour calculer les jours entre les dates à l'aide de Java 8, suivez ces étapes :

  1. Analysez chaque chaîne de date à l'aide de DateTimeFormatter.ofPattern("dd MM yyyy").
  2. Calculez la durée entre les deux dates en utilisant Duration.between().
  3. Convertissez la durée en jours en utilisant Duration.toDays().

Exemple :

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MM yyyy");
String inputString1 = "23 01 1997";
String inputString2 = "27 04 1997";

try {
    LocalDateTime date1 = LocalDate.parse(inputString1, dtf);
    LocalDateTime date2 = LocalDate.parse(inputString2, dtf);
    long daysBetween = Duration.between(date1, date2).toDays();
    System.out.println("Days: " + daysBetween);
} catch (ParseException e) {
    e.printStackTrace();
}
Copier après la connexion

Calcul des jours calendaires

Notez que le L'approche ci-dessus compte les jours comme des tranches génériques de 24 heures, et non comme des jours calendaires. Pour les jours calendaires, utilisez java.time.temporal.ChronoUnit.DAYS et sa méthode between().

long daysBetween = ChronoUnit.DAYS.between(date1, date2);
Copier après la connexion

Gestion des années bissextiles et de l'heure d'été

Les deux L'API 8 time et la classe SimpleDateFormat fournies dans la réponse originale gèrent automatiquement les années bissextiles et l'heure d'été ajustements.

Conversion de chaînes en dates

Évitez la conversion inutile de chaînes en dates et inversement. SimpleDateFormat est un outil puissant, mais il analyse et formate inutilement chaque date deux fois. Il est plus efficace d'utiliser directement la méthode LocalDateTime.parse().

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