Fonction time

Entête à  inclure

#include <time.h>  // <ctime> en C++

Fonction time

time_t time( time_t * pTime );

Permet d'obtenir le temps écoulé depuis le premier janvier 1970 à 00:00:00. En règle générale, le temps sera exprimer en secondes. Néanmoins, sur certains système, il se peut qu'il soit exprimé en une autre unité : c'est pour cela qu'il est important d'utiliser les fonctions de conversions ou de manipulations de temps de la librairie <time.h>. Par exemple, utilisez systématiquement la fonction difftime pour connaitre le nombre de secondes écoulées entre deux temps (deux données de type time_t).

En fait, il y a deux techniques pour obtenir ce temps : soit par valeur de retour, soit en passant un paramètre par pointeur pour qu'il soit initialisé. Si vous souhaitez seulement récupérer le temps par valeur de retour, il vous faudra passer un pointeur NULL étant donné que nous n'avons pas la notion de valeur de paramètre par défaut en C.

Paramètre

  • pTime : un pointeur sur la variable de type time_t dans laquelle stocker le temps. Si vous passer un pointeur valide, le temps qui sera stocké sera aussi renvoyé comme valeur de retour. Si vous passer un pointeur nul, le temps sera alors uniquement retourné par valeur de retour.

Valeur de retour

Le temps calculé par la fonction. Cette valeur sera renvoyée que vous passiez un pointeur nul ou non.

Exemple de code

#include <stdio.h>
#include <time.h>
#include <unistd.h>

int main( int argc, char * argv[] ) {

    time_t begin = time( NULL );
    
    // Do something
    sleep( 2 );   // Is a POSIX function - defined in <unistd.h>
    
    time_t end = time( NULL);
    unsigned long secondes = (unsigned long) difftime( end, begin );
    printf( "Finished in %ld sec\n", secondes );  
        
    return 0;
}

Fonctions et types connexes