sscanf(); help

The definition of the s format specifier is that it consumes:
"Any number of non-whitespace characters, stopping at the first whitespace character found."

Minutes do not look like whitespace characters. Perhaps you intended:

sscanf(stringIn, "%d,%*1s,%d", &tzhour, &tzminute);

(notice the added 1)

It would help if you would tell us what text string the GPS unit produces.

Good luck!