Obtenir l'heure actuelle, en millisecondes, en C?
Ce qui est de l'équivalence de la Java System.currentTimeMillis()
en C?
Ce système d'exploitation?
Voir stackoverflow.com/questions/5303751/.... Les bonnes réponses.
Double Possible de Comment mesurer le temps en millisecondes à l'aide de la norme ANSI C?
Voir stackoverflow.com/questions/5303751/.... Les bonnes réponses.
Double Possible de Comment mesurer le temps en millisecondes à l'aide de la norme ANSI C?
OriginalL'auteur user113454 | 2012-04-11
Vous devez vous connecter pour publier un commentaire.
Sur Linux et d'autres systèmes de type Unix, vous devez utiliser clock_gettime(CLOCK_MONOTONIC). Si ce n'est pas disponible (par exemple, Linux 2.4), vous pouvez revenir à gettimeofday(). Ce dernier a l'inconvénient d'être affectés par les réglages de l'horloge.
Sur Windows, vous pouvez utiliser QueryPerformanceCounter().
Ce code de la mine, les résumés de tous les ci-dessus dans une interface simple qui renvoie le nombre de millisecondes comme un int64_t. Notez que l'ordre de la milliseconde valeurs retournées sont destinés uniquement pour utilisation relative (par exemple, délais d'attente), et ne sont pas relatifs à un moment donné.
CLOCK_MONOTONIC
n'est pas tout à fait équivalent à la fonction java, la java, la fonction est également affectée par wallclock ajustements. C'est le bon choix pour des compteurs d'intervalle, bien sûr, mais si l'OP veut un wallclock temps, il ne va pas aider.OriginalL'auteur Ambroz Bizjak
Vérifier
time.h
, peut-être quelque chose comme lagettimeofday()
fonction.Vous pouvez faire quelque chose comme
Alors vous pouvez extraire des temps par l'obtention de valeurs de
now.tv_sec
etnow.tv_usec
.OriginalL'auteur adelbertc
Il y a le temps (le) fonction, mais il renvoie secondes, pas millisecondes. Si vous avez besoin de plus de précision, vous pouvez utiliser la plate-forme des fonctions spécifiques comme Windows GetSystemTimeAsFileTime() ou *nix est gettimeofday().
Si vous n'avez pas de soins sur la date et l'heure, mais veulent juste le temps de l'intervalle entre deux événements, comme ceci:
alors la C est équivalent clock(). Sur Windows, il est plus courant d'utiliser GetTickCount() à cette fin.
OriginalL'auteur dan04
Voir ce fil: http://cboard.cprogramming.com/c-programming/51247-current-system-time-milliseconds.html
Il est dit que la fonction time() est exact de secondes, et une plus grande précision nécessite d'autres bibliothèques...
OriginalL'auteur apnorton
J'écris cette fonction comme
System.currentTimeMillis()
en Java, et ils ont le même résultat.OriginalL'auteur Lee