Ho provato questo:
codice:
char   str[40];
struct tm orig, *new;
time_t t1;

memset (&orig, 0, sizeof (orig));
orig.tm_year = 2006 - 1900;
orig.tm_mday = 1;
orig.tm_mon = 1 - 1;

strftime (str, sizeof (str), "%Y-%m-%d %H:%M:%S", &orig);
printf ("%s\n", str);

t1 = mktime (&orig);

t1 += 6*3600;   /* +6 ore */

new = localtime (&t1);

strftime (str, sizeof (str), "%Y-%m-%d %H:%M:%S", new);
printf ("%s\n", str);
Funziona:
2006-01-01 00:00:00
2006-01-01 06:00:00