Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Fonction time

La structure tm Le type time_t


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, sous forme d'un entier positif : on parle souvent de « timestamp ». En règle générale, le temps sera exprimé 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

Valeur de retour

Si tout se passe bien, la fonction renvoie le temps système (un timestamp de type time_t) et ce qu'un paramètre valide est été passé à la fonction ou non.

Si le paramètre passé ne pointe pas sur un emplacement de mémoire valide, la valeur -1 vous sera retournée par la fonction et la variable globale errno sera fixée à la valeur EFAULT (bad address).

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

clock_t
clock
time_t



La structure tm Le type time_t