lcd.print

Hi, From GPS I get the time in GMT and have to increase the time by 1 hour

            lcd.clear();
            lcd.setCursor(1,2);
            // current Time
            lcd.print(d_string[6]);    // 1. digit hour
            timecorr = d_string[7]+1;  // 2. digit hour
            lcd.print (timecorr);

This code does not work. How can I print the second digit increases by 1? Willy

This code does not work.

Yes, it does.

It may not produce the results you want/expect, but it does something. Therefore, it works.

If you explain what it does do, and how that differs from that you want, perhaps we can help you make it do what you want.

what type is timecorr?

lcd.print (d_string [6]) = 1 1 digit hour timecorr = d_string [7]+1 = 0 + 1 2 digit hour d_string [7] = 0 lcd.print (timecorr) = 149 should be 1

This looks to me like you are printing '1', then printing '0' + 1. The ASCII value of '0' is 48. When you add one to that, you get 49.

the type is "unsigned char timecorr ;" I have also tried with "char timecorr" with the same result.

Post ALL of your code, if you really want help.

The solution is therefore
timecorr = d_string [7]-47;

No, it isn’t. The solution is

timecorr =d_string[7] - '0' + 1;

A week from now, you will not remember why you are subtracting 47. Subtracting ‘0’ and adding 1 will remind you why you can’t just add 1.

Of course, this is probably a band-aid, too. Can’t know for sure since you won’t post your code.

I know I probably won't be very helpful here, but I noticed two things that I think if corrected would help others help you: - the indentation of your code is horribly messed up; please press CTRL-T - all-caps names are always used for constants, so you should never name a function in all caps