Page 650 - Informatica dalla A a Z
P. 650
int tm_isdst; /* indicatore di ora legale */
};
Questa struttura può essere sia riempita sia manualmente che tramite due apposite fun-
zioni: localtime(), che legge la data ed ora attuale, e gmtime(), che fa la stessa cosa, pren-
dendo l’orario di Greenwich (si legge “greenic” e non “griinuic”).
#include <time.h>
#include <stdio.h>
int main(void)
{
struct tm *ptr;
time_t tm2;
tm2=time(NULL); /* legge i secondi passati da 1
gen 1970 */
ptr=localtime(&tm2); /* dai secondi riempie la struct
tm con tutti i dati di tempo locale */
printf(asctime(ptr));
ptr=gmtime(&tm2); /* dai secondi riempie la struct
tm con tutti i dati di tempoGreenwich */
printf(asctime(ptr));
}
la struttura time_t che nella seconda riga non è una struttura ma un semplice long (typedef
long time_t).
La funzione ctime( )
char *ctime(time_t *time);
equivale a:
asctime(localtime(time));
e permette di ottenere una stringa con data e ora evitando la chiamata alla funzione local-
time.
#include <time.h>
#include <stdio.h>
int main(void)
{
time_t tm2 ;
tm2=time(NULL);
printf(ctime(&tm2));
}
646