Perchè fà differenza.Ma la data originale è "locale" o GMT??? Per passare da un time_t a un struct tm* puoi usare gmtime() o localtime(). Entrambe fanno la conversione ma localtime prende in considerazione anche il time-zone locale impostato nel sistema.
Io voglio semplicemente che ottenere la vecchia data +- i minuti che voglio aggiungere.
Quindi secondo te devo usare la gmtime?
Nelle prove che ho fatto se uso la gmtime non ottengo la data voluta. perchè sono sfasato di 1 ora che non capisco da dove prende.
Avete pezzi di codice che mi mostrano come fare?
Io faccio questo:
char datetime[20];
struct tm *tt;
struct tm t;
int TZ = -120;
time_t temp;
if (strlen(datetime)!=19) return 0;
t.tm_hour=atoi(datetime+11);
t.tm_isdst=-1;//necessario , non UTC
t.tm_mday=atoi(datetime+8);
t.tm_min=atoi(datetime+14);
t.tm_mon=atoi(datetime+5)-1;
t.tm_sec=atoi(datetime+17);
t.tm_wday=0;
t.tm_yday=0;
t.tm_year=atoi(datetime+0)-1900;
temp= mktime(&t);
temp+= -TZ*60;
tt =localtime(&t);
strftime(datetime,20,"%Y-%m-%d %H:%M:%S",tt);
Sembra non andare
Aiuto per favore!