Time Zones in Software


Because I spend a lot of time in different time zones, it affects me greatly how software deals with varying the time zone it is running in.

Previously when using a Windows-based laptop I always left the clock in one time zone. I didn't trust what Windows would do if I effectively wound back the clock 13 hours when travelling from Perth to Boston.

I've always liked the Linux approach of internally using UTC and making the particular time shown to the user a display issue. The means things should just work.

Now that I'm using a PowerBook with OS X, I figured I'd take the risk and I just changed the time zone from AWST to EST. The good news is that when I do an ls -l, the times have all changed which suggests that they are internally using UTC and just displaying in my local time zone.

So the filesystem does The Right Thing. The other big culprit tends to be calendar apps. In my experience, many calendar apps still do not take into account time zones. Terribly frustrating when the US team sends me an invite for a conference call when I'm in Australia. OS X's iCal looks like it does the right thing in changing the event times when one changes the time zone, but the problem seems to be that the original Outlook invite was assumed to be in local time.

So an invite for a 9am EST meeting appeared in iCal as a 9am meeting while I was in AWST but now that I'm in EST zone, it's appearing as an 8pm meeting. Not sure if that's iCal's fault or Outlook's. Either Outlook's invite didn't specify that the 9am start time of the meeting was EST or iCal ignored it.

I just noticed another aberration. Just after I changed my time zone, I noticed Entourage was saying it wouldn't be checking mail for another 692 minutes so clearly some part of Entourage is relying on local time rather than some fixed time like UTC.