Time Zone handling in programs is interesting. Beyond the incredible inconvenience of Daylight savings time, programs tend to use the local time and let other programs deal with that information.
I suggest that all code in the world be changed to send and receive data using GMT, UTC, Zulu Time! This would certainly simply things for me.
Java describes time zones using Olson time zone descriptions. These look like “America/Los_Angeles”. This is interesting but countries and cities don’t change much. Still, using “UTC-8” would be much better. Some code still needs to figure out if UTC-8 is really UTC-7 because of day,might saving time although it seems like a client device should be doing that. In the end, it’s all a bit crappy.
It is made even worse because Windows Phone OS and C#.net don’t use Olsen time strings. They use their own proprietary strings to describe time zones. I’ve even found information that says that Windows XP uses different strings from Windows 7 when the exact same function is called. It makes time zone handling a bit trickier.
Now if a client device like my phone were to submit some records to a server and use GMT, the server could display those values in a web page and just translate then based on the client time zone of the client browser. Then it would be a matter of a few browsers on a few operating systems agreeing on how to handle time zones instead of every app writer and every server code writer deciding how to transmit data.
I am tempted to get a GMT/UTC time on the client and set the time zone to something GMT so that I never had to change time zones for phones in different areas of the world. All of them would use GMT and transmit GMT.