Bonjour, voici mon pb je doit calculer le nombre de milliseconde depuis le début de l'année. Voici mon code sous linux simple qui fonctionne parfaitement :
Jusque l'a aucun problème. Maintenant j'essaye de faire la même chose sous Windows en utilisant des fonctions Windows tel que GetSystemTime et GetLocalTime. Je me rends compte que ces fonctions ne s'utilisent absolument pas comme sous Linux. Ce qui parait a peu près normal vu de très très loin et avec beaucoup d'alcool. Est ce qu'il existe des fonctions équivalentes sous Windows qui me permettrai de faire calculer le nombre de milliseconde depuis le début de l'année? Je pense notamment à la classe Time que j'ai vu sur msdn, mais c'est tellement peu pratique ce site que je n'ai pas réussit à trouver qu'elle header je doit inclure. (time.h déjà essayé). Si vous vous y connaissez un peu en gestion de temps sous Windows. Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 // debut du calcul du temps de depart long long dateDebutSec; long double dateMax; long double dateDebutMSec; struct timeval timeV; struct tm * timeinfo; time_t rawtime; gettimeofday(&timeV, NULL); time(&rawtime); timeinfo = localtime(&rawtime); timeinfo -> tm_mon = 0; timeinfo -> tm_mday = 1; timeinfo ->tm_hour = 0; timeinfo ->tm_min = 0; timeinfo ->tm_sec = 0; // on soustrait le nombre de secondes // entre le 01/01/1970 et le 01/01 de l'annee en cours dateDebutSec = timeV.tv_sec - mktime(timeinfo); dateDebutMSec = ((int)(timeV.tv_usec / 1000)) / 1000.0; dateMax = dateDebutSec + dateDebutMSec; // la date de debut sera donc le nb de sec (avec la precision de la milli sec) // ecoulees depuis le debut de l'annee
Partager