107 votes

Comment calculer la différence de temps en java?

Je veux soustraire deux timeperiods dire 16:00:00 de 19:00:00. Est-il java de la fonction pour cela? Les résultats peuvent être en millisecondes à quelques secondes ou minutes.

125voto

genesiss Points 919
String time1 = "16:00:00";
String time2 = "19:00:00";

SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
Date date1 = format.parse(time1);
Date date2 = format.parse(time2);
long difference = date2.getTime() - date1.getTime(); 

La différence est exprimée en millisecondes.

J'ai modifié sfaizs post.

45voto

Fizer Khan Points 4128

Pour obtenir À peu de différences temporelles, puis

// d1, d2 are dates
long diff = d2.getTime() - d1.getTime();

long diffSeconds = diff / 1000 % 60;
long diffMinutes = diff / (60 * 1000) % 60;
long diffHours = diff / (60 * 60 * 1000) % 24;
long diffDays = diff / (24 * 60 * 60 * 1000);

System.out.print(diffDays + " days, ");
System.out.print(diffHours + " hours, ");
System.out.print(diffMinutes + " minutes, ");
System.out.print(diffSeconds + " seconds.");

11voto

Christian Points 12142

Tout comme toute autre langue; convertir vos périodes de temps pour un timestamp unix (c'est à dire, de secondes depuis l'époque Unix) et ensuite il suffit de soustraire. Ensuite, le résultat en secondes devrait être utilisé comme un nouveau timestamp unix et lecture formatée dans le format que vous souhaitez.

Ah, donnez-le au-dessus de l'affiche (genesiss) en raison de son crédit, le code est toujours à portée de main ;) Cependant, vous avez maintenant une explication bien :)

2voto

Manfred Moser Points 13454

La douleur est de convertir à millis et faire la soustraction, puis revenir à ce secondes ou si vous le souhaitez. La meilleure façon est d'utiliser JodaTime.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X