Voilà le nécessaire pour afficher la date et l'heure en heures locales :
#include <stdio.h>
#include <time.h>
int main(void)
{
static const char* aszJours[] =
{"Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"};
// --- Lire l'horloge et la convertir en heure locale
time_t Time = time(NULL);
tm* pTM = localtime(&Time);
// --- Date
printf("\n%s %02d/%02d/%04d (jour %d)\n"
,aszJours[pTM->tm_wday] // jour de la semaine (0=dim à 6=sam)
,pTM->tm_mday // jour dans le mois (1 à 31)
,pTM->tm_mon + 1 // mois (0 à 11)
,pTM->tm_year + 1900 // année / 1900
,pTM->tm_yday + 1); // jour dans l'année (0 à 366)
// --- Horaire
printf("%02d:%02d:%02d"
,pTM->tm_hour // heures (0 à 23)
,pTM->tm_min // minutes (0 à 59)
,pTM->tm_sec); // secondes (0 à 59)
// --- Heure d'été/d'hiver
if (pTM->tm_isdst > 0)
printf(" (heure d'ete)");
else if (pTM->tm_isdst == 0)
printf(" (heure d'hiver)");
else
printf(" (heure d'ete/hiver inconnu)");
printf("\n\n");
return 0;
}
Ce qui donne :
Jeudi 08/05/2008 (jour 129)
10:49:05 (heure d'ete)
Jean-François