Today a report published by the guardian suggested that the source of the problem could to a great extent be the Location Services as many users have noticed that the “Setting Time Zone†element of the systems services operates even when there`s no apparent reason the user has moved to a different location.
Location Services can suck huge amounts of battery charge especially if they operate 24/7 for they use a combination of Wi-Fi network, mobile mast data and GPS sensor input to calculate the phone`s position. There’s one theory that claims that the new iOS 5 GM release has a bug that causes the Setting Time Zone function to operate continuously, draining battery power considerably.
One way to deal with it is to turn that option off which means your phone will not reset the time automatically when you travel. Howver, that I think is such a small inconvenience for having your iPhone last more than 12 hours on a full charge.
To turn off the “Setting Time Zone” setting Settings, go to Location Services > scroll to bottom to “System Services” > Setting Time Zone.