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
   645   646   647   648   649   650   651   652   653   654   655