Time zones and time offsets are evil..... so many different rules to try and follow.... and some parts of the globe having two different time zone rules for the same offset from 0 that differ only by which country you are in....
I have some code used on some of the cruise ship lines (not for the piloting of the ship!) that has to deal with this and it sucked to have to prove to the users i was following the rules in my math ... they would say the time was wrong and i would check and it was right.
at least according to the timezone rules for the data given.
-- this app lets them enter a date and time and timezone where/when an event will happen on the ship in advance of the event.
so they are in the waters off the east coast of the us and are planning an event for when the ship arrives in say the med near italy or some other place in that area.
so we record event date and time and tz along with florida date and time as thats where the server is running at.