Afficher des heures: 36:00 et non pas: 02:00
Résolu/Fermé
moi411
Messages postés
179
Date d'inscription
samedi 22 novembre 2003
Statut
Membre
Dernière intervention
25 juin 2017
-
17 juil. 2015 à 23:24
moi411 Messages postés 179 Date d'inscription samedi 22 novembre 2003 Statut Membre Dernière intervention 25 juin 2017 - 18 juil. 2015 à 07:43
moi411 Messages postés 179 Date d'inscription samedi 22 novembre 2003 Statut Membre Dernière intervention 25 juin 2017 - 18 juil. 2015 à 07:43
A voir également:
- Afficher des heures: 36:00 et non pas: 02:00
- Afficher appdata - Guide
- Afficher mot de passe wifi android - Guide
- Windows 11 afficher d'autres options - Guide
- Afficher taille dossier windows - Guide
- Afficher google - Guide
1 réponse
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
18 juil. 2015 à 00:53
18 juil. 2015 à 00:53
Bonjour,
C'est normal qu'il passe au jour suivant puisque tu travailles sur des dates.
Sémantiquement parlant, une date ne peut pas avoir plus de 24h...
Une date c'est un instant sur la ligne temporelle, à ne pas confondre avec le temps qu'il y a entre deux dates et qui constitue la "distance" entre deux instants de la ligne temporelle.
Si tu veux afficher 28h10 ce n'est plus une date, mais bien du temps...
Alors il y a des bibliothèques de gestion du temps, notamment Joda Time (qui est désormais intégré à Java depuis la version 8), mais la méthode "diviser par 60" est plus simple et tout à fait justifiée ici puisque tu travailles sur du temps.
C'est normal qu'il passe au jour suivant puisque tu travailles sur des dates.
Sémantiquement parlant, une date ne peut pas avoir plus de 24h...
Une date c'est un instant sur la ligne temporelle, à ne pas confondre avec le temps qu'il y a entre deux dates et qui constitue la "distance" entre deux instants de la ligne temporelle.
Si tu veux afficher 28h10 ce n'est plus une date, mais bien du temps...
Alors il y a des bibliothèques de gestion du temps, notamment Joda Time (qui est désormais intégré à Java depuis la version 8), mais la méthode "diviser par 60" est plus simple et tout à fait justifiée ici puisque tu travailles sur du temps.
import java.time.Instant; import java.time.temporal.ChronoUnit; public class TestJava8 { public static void main(String[] args) { Instant now = Instant.now(); Instant christmas = Instant.parse("2015-12-25T00:00:00.00Z"); long hours = now.until(christmas, ChronoUnit.HOURS); Instant temp = now.plus(hours, ChronoUnit.HOURS); long minutes = temp.until(christmas, ChronoUnit.MINUTES); System.out.println(hours + ":" + minutes); } }
import java.util.Date; public class TestOldJava { public static void main(String[] args) { long now = new Date().getTime(); long christmas = Date.UTC(115, 11, 25, 0, 0, 0); long temp = (christmas - now) / (60 * 1000); long hours = temp / 60; long minutes = temp % 60; System.out.println(hours + ":" + minutes); } }
18 juil. 2015 à 07:43
"...mais la méthode "diviser par 60" est plus simple et tout à fait justifiée ici puisque tu travailles sur du temps..."
En fait c'est ce que j'ai fait mais je pensais qu'utiliser une classe toute prête serai plus facile/rapide... J'ai encore l'habitude C# où tout (ou presque) est automatisé!!!
Bref, encore merce et bon week-end...