Temps écoulé depuis le 1er Janvier 1970 en microsecondes

Messages postés
48
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
18 juillet 2008
- - Dernière réponse : cs_omnia
Messages postés
240
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
22 mars 2009
- 8 août 2007 à 15:57
Bonjour !

Voilà, j'aimerais savoir sous windows, le temps à la microseconde qui s'est écoulé depuis le 1er Janvier 1970.

Sous linux, j'utilise la fonction gettimeofday mais sous windows, je ne vois pas comment faire.

Merci de votre aide

Boudafc
Afficher la suite 

7 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
10
0
Merci
Salut,

Erf, apparement elle n'est pas implémentée sous Windows. Pourtant elle à l'air POSIX.

Apparement, celle qui s'en rapproche le plus, c'est celle-là : GetSystemTimeAsFileTime

Précise à 100 nano, mais l'orgine est en 1601...
Commenter la réponse de cs_rt15
Messages postés
48
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
18 juillet 2008
0
Merci
Humm ça a l'air costaud quand même !
Car j'ai regardé, il faut ensuite convertir la structure retournée pour qu'elle soit manipulable et une fois convertie, on n'a plus accès qu'aux secondes...
Tu n'aurais pas par hazard un petit exemple ?

merci,

Boudafc
Commenter la réponse de boudafc
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
2
0
Merci
heuu.... c'est peut etre moi qui n'a pas saisi le message... parceque ca me parait pas si compliqué :

il te faut un algorithme qui calcul le nombre de jour dans l'année en fonction de l'année ( a cause des bixestiles et compagnie )

en te servant de time.h tu peux avoir la date et l'heure du jour ( precis a la seconde si je me trompe pas )
donc la deja a partir de ca tu fabrique une petite fonction qui, en se servant de ton algo va faire la difference entre le temps actuel et le 1er Janvier 1970.

bon apres pour avoir a la miliseconde près, tout ce ke tu as a faire, c'est te servir du compteur de miliseconde du pc :
tu regarde a quelle valeur il est au moment ou ton pc passe d'une seconde a l'autre, cette valeur sera X.
et au moment Y, il se sera écoulé Y - X milliseconde depuis la derniere seconde.

ca demande un peu de travail mais c'est faisable. Des fois ca sert a rien de chercher desespérément des fonctions toute faite qui font tout et faut savoir se retrousser les manches !

encore une fois si j'ai bien compris la question....

a++

______________________
Adeon, programmeur de jeux sur directX 9 (http://www.warcrave.com/2.html) a votre service !
Commenter la réponse de cs_Adeon
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
2
0
Merci
haaa jsavais bien j'avais loupé qqchose !!!! en effet, la pressision a la microseconde je ne sais pas comment l'obtenir avec un pc !
lol
dsl

a++

______________________
Adeon, programmeur de jeux sur directX 9 (http://www.warcrave.com/2.html) a votre service !
Commenter la réponse de cs_Adeon
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16
0
Merci
Il n'y a que le timer haute résolution qui donne des microsecondes depuis le boot du PC.

Obtenir en millisecondes depuis 01/01/1970 00:00:00 est trivial.
Si tu galères, je te ferai un exemple.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
48
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
18 juillet 2008
0
Merci
En fait, l'outil sur lequel je devais ajouter l'option n'est pas aussi précis que la microseconde... il ne l'est que sous linux. Du coup, je n'ai finalement pas à obtenir un temps aussi précis.

Pour obtenir un temps précis à la milliseconde sous windows, j'ai utilisé la fonction "ftime()" incluse dans la librairie <sys/timeb.h>

voili voilou !

Merci encore pour votre aide à tous.
Commenter la réponse de boudafc
Messages postés
240
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
22 mars 2009
0
Merci
en effectuant quelques recherche sur les fonctions de type GetSystemTime tu devrais trouver facillement ^^

bon codage +
Commenter la réponse de cs_omnia