I had a similar bizarre situation. It kept locating me in Central Time Zone. I discovered it because a satellite app told me to expect an Iridium flare in 48 minutes, but it was already later than that! I couldn't shake myself out of Chicao, even though we don't live in CST. (What's very strange about all this is that I was restoring a backup to this iPhone 4 from another iPhone 4, which didn't display the problem!)
None of the suggestions here worked-- reset, hard reset, network reset, etc. I have tried turning location services off and on, tried turning the Set Automatically time zone off and on.
In any event, here's what I stumbled upon that worked. Go to Settings, Location Services. Turn your Location Services on. (I usually have them off.) Scroll down all the way to the bottom to where it says System Services. Enter that and there's a setting called Setting Time Zone. I turned it on. Lo and behold! Back in the right time zone.
Well, to confess, I had to do this a second time (I had turned off the Set Automatically in the Setting, General, Date and Time pane).
In any event, I just turned off Location Services, and everything is fine. Right time, right time zone, right satellite predictions! As an extra wrinkle, I went back to that Location System Services setting and turned off the time zone setting--I don't travel much and not across time zones. No problem, the time and time zone are still right!
Keep looking up and Happy New Year!