Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1445 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  Convertir des milisecondes en heures, minutes, secondes, ms

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Convertir des milisecondes en heures, minutes, secondes, ms

n°472744
El_gringo
Posté le 31-07-2003 à 08:55:44  profilanswer
 

tout simplement, j'ai une durée en ms, et je cherche à la décomposer en heures, minutes, secondes, ms.
ça m'énerve :fou:  
C'est surement tout bête, mais j'arrive pas à faire ça de manière efficace...
Heeelp !


Message édité par El_gringo le 31-07-2003 à 09:52:57
mood
Publicité
Posté le 31-07-2003 à 08:55:44  profilanswer
 

n°472751
darkoli
Le Petit Dinosaure Bleu
Posté le 31-07-2003 à 09:04:24  profilanswer
 

int  ms=?;
int  millisecondes=0;
int  secondes=0;
int  minutes=0;
int  heures=0;
 
millisecondes=ms%1000;
ms=ms/1000;
secondes=ms%60;
ms=ms/60;
minutes=ms%60;
ms=ms/60;
heures=ms;
 
Je crois qu'il n'y a pas plus simple :??:

n°472753
LetoII
Le dormeur doit se réveiller
Posté le 31-07-2003 à 09:07:45  profilanswer
 

Code :
  1. void convert(int timems,int &heure,int &min,int &sec,int &ms)
  2. {
  3.    int val = 1000*3600;
  4.    int rest;
  5.    heure = timems/val;
  6.    rest = timems - heure*val;
  7.    val /= 60;
  8.    min = rest/val;
  9.    rest = rest - min *val;
  10.    val /= 60;
  11.    sec = rest/val;
  12.    ms = rest - sec *val;
  13.  
  14. }


 
Ca devrait marcher


---------------
Le Tyran
n°472761
polo021
Posté le 31-07-2003 à 09:11:49  profilanswer
 

tu fais :
nb_millisecondes /3600000 = x_heures
nb_millisecondes %3600000 = reste
reste * 3600000/60000 = x_minutes
reste * 3600000%60000 = reste
reste *60 = x_secondes
 
 
pas teste
EDIT : grille


Message édité par polo021 le 31-07-2003 à 09:13:00
n°472763
LetoII
Le dormeur doit se réveiller
Posté le 31-07-2003 à 09:12:51  profilanswer
 

Si tu t'en sors pas avec tout ça on peu plus rien pour toi  [:ddr555]


---------------
Le Tyran
n°472777
El_gringo
Posté le 31-07-2003 à 09:25:30  profilanswer
 

Vous n'auriez pas d'autrs idées ?
 
 
 
EDIT : j'déconne hein. ça m'va très bien, c'est nickel. IL me reste plus qu'a choisir !  [:thraell]


Message édité par El_gringo le 31-07-2003 à 09:27:43
n°472784
El_gringo
Posté le 31-07-2003 à 09:28:52  profilanswer
 

DarkOli a écrit :

int  ms=?;
int  millisecondes=0;
int  secondes=0;
int  minutes=0;
int  heures=0;
 
millisecondes=ms%1000;
ms=ms/1000;
secondes=ms%60;
ms=ms/60;
minutes=ms%60;
ms=ms/60;
heures=ms;
 
Je crois qu'il n'y a pas plus simple :??:


 
Heu, sans cast il va me faire des histoires !

n°472786
LetoII
Le dormeur doit se réveiller
Posté le 31-07-2003 à 09:30:04  profilanswer
 

El_gringo a écrit :


 
Heu, sans cast il va me faire des histoires !


pkoi?
 
T'as des int partout  [:spamafote]  
 
Tu veux caster des ms en heure? :heink:  [:ddr555]


---------------
Le Tyran
n°472792
El_gringo
Posté le 31-07-2003 à 09:36:16  profilanswer
 

LetoII a écrit :


pkoi?
T'as des int partout  [:spamafote]  
Tu veux caster des ms en heure? :heink:  [:ddr555]  


 
Non, j'pensais que le compilateur râlerait du fait qu'on divise un entier : le résultat peut être un nombre réel (flottant). En C, le résultat d'un division n'est pas toujours un flottant ? Il prend la partie entière du résultat sans rien dire ?

n°472794
skeye
Posté le 31-07-2003 à 09:38:24  profilanswer
 

El_gringo a écrit :


 
Non, j'pensais que le compilateur râlerait du fait qu'on divise un entier : le résultat peut être un nombre réel (flottant). En C, le résultat d'un division n'est pas toujours un flottant ? Il prend la partie entière du résultat sans rien dire ?


Pour des entiers / donne toujours un résultat entier...si tu veux le reste % est là pour ça! [:skeye]

mood
Publicité
Posté le 31-07-2003 à 09:38:24  profilanswer
 

n°472795
LetoII
Le dormeur doit se réveiller
Posté le 31-07-2003 à 09:39:09  profilanswer
 

El_gringo a écrit :


 
Non, j'pensais que le compilateur râlerait du fait qu'on divise un entier : le résultat peut être un nombre réel (flottant). En C, le résultat d'un division n'est pas toujours un flottant ? Il prend la partie entière du résultat sans rien dire ?


 
si tu divise deux variables du même type le résultat sera de ce type, quand tu as des types différents... j'ai oublié la régle :D mais y a une des deux variable qui est casté vers l'autre type (vraissemblement var1 dans cet exemple: var1/var2)
 
donc dans notre cas il fait une division entière et ça te donen un entier.


---------------
Le Tyran
n°472803
El_gringo
Posté le 31-07-2003 à 09:45:43  profilanswer
 

LetoII a écrit :


donc dans notre cas il fait une division entière et ça te donen un entier.


 
Et ça tombe bien parce que c'est justement ce qu'on veut !
Merci.

n°472826
darkoli
Le Petit Dinosaure Bleu
Posté le 31-07-2003 à 10:03:37  profilanswer
 

El_gringo a écrit :


 
Heu, sans cast il va me faire des histoires !


Ben non !
Comme dis plus haut, ce n'est que des entiers !
Par contre si tu veux que le resultat de la division ne soit pas un entier il faut que tu castes au moins un des nombres !
 
Exemple : (double)a/(double(b).


Message édité par darkoli le 31-07-2003 à 10:07:04

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  Convertir des milisecondes en heures, minutes, secondes, ms

 

Sujets relatifs
Si vous avez le plug in java installé et quelque minutes de libre...[REGEX&PHP] Convertir les dates du format 2001-01-25 à du 25/01/2001 ?
convertir une animation Java en format video ou autreconvertir les url dans un text
[ASP] Rediriger après x secondesConvertir un BMP en JPG
[C#] convertir une chaîne String en Floatconvertir le -1 en vrai et le 0 en faux [Access 97]
Probleme pour convertir en PDFConvertir un string
Plus de sujets relatifs à : Convertir des milisecondes en heures, minutes, secondes, ms


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR