AFAIK you can’t change the time zone of a datetime column in a data table. What you would need to do is convert to UTC when adding date times to the data table.
The value entered here goes straight into the database. There is no opportunity for my code to “massage” the value, before other code sees it. See my Feature Request for some of the more likely human errors in trying to deal with time zones manually.
I’m going to try to change the title of this topic to better reflect the “IDE” aspect.
@stucork, I like this idea. To summarize the strategy (for more casual readers), this uses the additional column as an “override” of the datetime’s built-in timezone. In many cases it can be a more-than-adequate workaround, where an app has to read the datetime.
The main drawback comes when editing the data in the IDE. Now the timestamp is spread across two column values, and you can change only one of them at a time. If both have to change, then you have to hope that no program is going to try to read “the value” during the time that the two parts are out-of-sync.
I believe this was the reason why timezone information was embedded in the value in the first place: to make such changes atomic.
The logical way to represent the choice, of course, is as a pulldown list. (For usability, I’d put the most-frequently-used choices at the top.) The place, on-screen, to put this pulldown list, is directly underneath the datetime-entry-widget’s [Apply] and [Cancel] buttons.
Entry’s not an issue in my own apps. When needed, I can create a custom component that incorporates both datetime entry and an explicit timezone. But I can’t make the IDE use it.