How to tell time zone with a GPS?

I want to make an alarm clock that automatically adjusts its time according to time zone with a GPS. The clock part has been done for a while but the time zone idea is new. So how do I tell time zone from a GPS module like EM-406? Do I have to make a map? Thanks.

Over what territory? North America is not trivial, and across the planet may be beyond the memory capacity of Arduino.

So it is going to need a map then :frowning:

Yes, I only meant within the continental US. Maybe I should draw boxed states, for simple calculation.

Googled and didn't find enough information on good solution. An approximate solution is to find nearest city and use the time zone of that city. That might work :slight_smile:

I had a quick look at the NMEA messages and there is a message GPZDA that apparently (I did not find a detailed description) tells you the time difference on the location you are on. Have a better search at it. I found these sites that point to what you need.