Here is a code fragment that may get you in the right direction
char timeStr[6] = {"12:30"}; // timeStr is our time string, for demo purposes we initialise it to some time
int tzOffset = 1; // lets say the offset is 1
int hour = ((timeStr[0] - '0') * 10) + timeStr[1] - '0'; // calculate the hour as in integer, in this code we assume the first char will be zero if the time is less than 10 oclock
int localHour = (hr + tzOffset) % 24; // % is the modulus operator, this is the same as the following:
//if(localHr >= 24) //
// localHr = LocalHr - 24;
char c = (localHr / 10) + '0'; // calculate the tens of hours character
timeStr[0] = c; // and put it into our time string
c = localHr[1] + '0'; // calculate the hours char
timeStr[1] = c; // and put that in the string
//timeStr should now be the local time string
ah great with 3 lines of code it does work much smoother

int hr = ((timeStr[0]) - '0') * 10 + timeStr[1] - '0';
int st = ((timeStr[3] -'0') *10 + timeStr[4] - '0');
int localHr = (hr + tzOffset) % 24;
thx a lot!!!!!!!
Geko