Jon,
I don't think you're missing anything.
I'm just trying to figure out how to do this bastard thing, so I'm asking around.
I'm aware of the timezone package in ref-timezones, which is also what the procs I mentioned in acs-lang use. We want a Tcl API on top of that, though, and that's what the acs-lang procs provide. ref-timezones doesn't have any Tcl API.
The issue of whether server time is UTC or not is still muddy to me. I happen to have no idea whether my server's time is set in UTC or not. When I say 'date' I get my local time. When I say 'date -u', I get UTC time. So far so good, but what it's running internally, I don't know.
How do I find out? How do I set it to UTC if it's not? And do we really want to *require* that *every* server ever running OpenACS must have its internal clock set to UTC?
So if the server's time isn't UTC, should we still store datetimes in UTC? I suppose you would all argue yes here, and I don't have a problem with that.
The other two issues are:
1) I'd like to not require that everybody installs ref-timezones in order to run OpenACS, since it's so big. It should be possible to run a single-timezone site without it.
So either everything should be written so it works without ref-timezones (it seems to be already), or we need to split ref-timezones into a small and a large package somehow. Recommendations here would be welcome.
2) This will require that we run through each and every piece of code in the system that either inputs or outputs a date/time and change them. That's a lot of work. Do you have any good ideas for how to go about this, or is it just grunt, grunt, grunt?
/Lars