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 :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonction localtime_r (POSIX)

Entête à inclure

#include <time.h>

Fonction localtime_r

struct tm *localtime_r( const time_t *restrict timer, struct tm *restrict result );

Version réentrante POSIX de localtime.

Cet élément est fourni par POSIX. Il peut nécessiter l'activation d'une macro de visibilité POSIX avant l'inclusion de l'entête.

Exemple de code

Cet exemple force le fuseau horaire UTC, puis convertit un timestamp avec localtime_r. Cela permet de garder une sortie stable tout en montrant l'usage de la version réentrante.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
#define _POSIX_C_SOURCE 200809L

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

int main() {

    time_t timestamp = 0;
    struct tm local;

    if ( setenv( "TZ", "UTC", 1 ) == -1 ) {
        perror( "setenv" );
        return EXIT_FAILURE;
    }
    tzset();

    if ( localtime_r( &timestamp, &local ) == NULL ) {
        perror( "localtime_r" );
        return EXIT_FAILURE;
    }

    printf( "%02d/%02d/%04d %02d:%02d:%02d\n",
            local.tm_mday, local.tm_mon + 1, local.tm_year + 1900,
            local.tm_hour, local.tm_min, local.tm_sec );

    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction localtime_r

Cet exemple produit l'affichage suivant.

01/01/1970 00:00:00

Sujets connexes

La librairie <time.h>


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé