PDA

Visualizza la versione completa : [C] - data UTC e DST/CET


HumptyDumpty
29-09-2009, 10:44
Ciao ragazzi,

sistema Linux
devo recuperare la data del sistema,
ho usato la funzione "localtime " ma recupera la data e ora UTC
non quella visualizzata lanciando il comando "#date".

Con "date" visualizzo l'ora solare/legale che differenzia di 1/2 ore dall'ora UTC.
potrei gestire a manina le ore di differenza : ora,giorno mese e anno ma dovrebbe esserci una funzione che lo fa, in rete non riesco a trovare info

grazie

code:

void printdata() {
struct tm * tempo;
time_t now;

now = time(NULL); // recupera il tempo nella struttura time_t
tempo = localtime(&now); // coverte la struttura time_t in una struttura tm

printf("anno: %02d;", (tempo->tm_year - 100));
printf(" mese: %02d", tempo->tm_mon+1);
printf(" gior: %02d\n", tempo->tm_mday);

printf( "ORA : %02d ", tempo->tm_hour);
printf( "MIN : %02d ", tempo->tm_min);
printf( "SEC : %02d \n", tempo->tm_sec);
}

HumptyDumpty
29-09-2009, 16:39
Informazione aggiuntiva:
il dubbio sorge perchè la funzione

considerando le fiunzioni disponibili con l'header "time.h" accade che

localtime (che dovrebbe restituire ora intesa come ora locale)
gmtime (che dovrebbe restituire ora intesa come ora UTC)

restituiscono lo stesso valore.

Loading