Maison > Java > javaDidacticiel > Comment calculer efficacement la différence de date dans Android/Java ?

Comment calculer efficacement la différence de date dans Android/Java ?

Barbara Streisand
Libérer: 2024-11-21 06:02:09
original
939 Les gens l'ont consulté

How to Efficiently Calculate the Date Difference in Android/Java?

Détermination de la différence de date dans Android/Java

Le calcul de la différence entre deux dates est une exigence courante dans diverses applications. Dans la programmation Android, il existe plusieurs approches pour déterminer le nombre de jours entre la date actuelle et une date donnée au format « aaaa/mm/jj ».

Utilisation de la bibliothèque JodaTime

Pour une solution fiable et flexible, pensez à utiliser la bibliothèque JodaTime. Il offre des capacités robustes de gestion et de manipulation des dates. Voici un exemple :

import org.joda.time.LocalDate;
import org.joda.time.Period;
import org.joda.time.PeriodType;

LocalDate today = LocalDate.now();
LocalDate thatDay = LocalDate.parse("1985/08/25");

Period period = new Period(thatDay, today, PeriodType.days());
long days = period.getDays();
Copier après la connexion

Cette approche utilise JodaTime pour analyser la chaîne de date donnée et calculer la différence en jours par rapport à aujourd'hui.

approximation manuelle

Vous pouvez également tenter une approximation manuelle en suivant les étapes suivantes :

  • Analyser la chaîne de date donnée en valeurs entières individuelles pour l'année, le mois et le jour.
  • Créer deux calendriers instances, une pour la date actuelle et une pour la date donnée, et définissez leurs champs respectifs.
  • Calculez la différence de temps en millisecondes entre les deux instances du calendrier.
  • Divisez la différence de temps par le nombre de millisecondes dans une journée (24 60 60 * 1000) pour obtenir le nombre approximatif de jours.

Exemple de code :

SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
Date d = formatter.parse("1985/08/25");

Calendar thatDay = Calendar.getInstance();
thatDay.setTime(d);
Calendar today = Calendar.getInstance();

long diff = today.getTimeInMillis() - thatDay.getTimeInMillis();
long days = diff / (24 * 60 * 60 * 1000);
Copier après la connexion

Remarque : Cette approximation manuelle peut ne pas être entièrement précise pour les dates proches des limites de l'année ou du mois.

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