Maison > Java > javaDidacticiel > Comment puis-je calculer avec précision les différences de date/heure en Java ?

Comment puis-je calculer avec précision les différences de date/heure en Java ?

DDD
Libérer: 2024-12-16 06:55:13
original
945 Les gens l'ont consulté

How Can I Accurately Calculate Date/Time Differences in Java?

Calcul du décalage date/heure en Java

Lorsque vous travaillez avec des données temporelles, il devient nécessaire de calculer le décalage horaire entre deux dates données ou fois. En Java, il existe plusieurs façons d'accomplir cette tâche efficacement.

Une approche courante consiste à convertir les dates ou les heures en millisecondes depuis l'époque, puis à soustraire l'une de l'autre. Cette technique est utilisée dans l'exemple de code fourni, où les millisecondes sont calculées à l'aide de la méthode getTime() de la classe Date. Cependant, le code fourni produit des résultats inexacts, notamment dans le calcul des secondes.

Pour remédier à ce problème, la classe java.util.concurrent.TimeUnit peut être utilisée. Les méthodes toSeconds() et toMinutes() de cette classe peuvent être utilisées pour obtenir la différence en secondes et en minutes, respectivement. L'extrait de code suivant illustre cette approche :

long diff = d2.getTime() - d1.getTime();//as given

long seconds = TimeUnit.MILLISECONDS.toSeconds(diff);
long minutes = TimeUnit.MILLISECONDS.toMinutes(diff); 

System.out.println("Time in seconds: " + seconds + " seconds.");         
System.out.println("Time in minutes: " + minutes + " minutes.");         
Copier après la connexion

En utilisant la classe TimeUnit, le code produira désormais les résultats corrects :

Time in seconds: 45 seconds.
Time in minutes: 3 minutes.
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal