GPS/UTC: Calender problem in time zone <> 0 - Solved

You could look at how the DateTime and TimeSpan classes in the RTClib library handle it. You could even just use those classes.