Hi Ora,
It would be a *giant* help if you could look into the issues that you raise, see below. Please let us know what you find out.
Thanks.
There are many different aspects to Timeline and Timezones (TZ):
a) If an event time is specified as a Gregorian date string, then it appears from my code reading that
1) The SimileAjax.DateTime.parseGregorianDateTime is used from ajax/api/scripts/date-time
2) The timezone of the user's browser will be used.
b) ISO8601 strings can include an optional timezone. If the timezone is included, it is used. Else, the browser's timezone is used.
See SimileAjax.DateTime.setIso8601 in
ajax/api/scripts/date-time
c) If the dates are specified by using JS Date objects, then the TZ is set at that time.
d) If used, the timezone of the browser which may or may not be set correctly depending on the individual user and his or her computer or browser.
e) The timezone of the band (what you asked about) is used by the labeller to create the labels on the Timeline band.
I don't have the time right now to investigate this further, see the
createLabeller(this._locale, this._timeZone) and Timeline.GregorianDateLabeller functions.
It is also used for calculating the period of time that will be displayed on the ether. See ether-painters lines 60 and 195
f) The timezone is shown in
1) The labels on the bands. (See the labellers)
2) In the bubbles.
My suggestions:
1) I think the idea is that if the browser's TZ is used, then the band's specified TZ will be used to override/correct the browser's TZ. But this needs to be checked/verified by writing an example that uses Gregorian dates.
2) It would also be great to try out different combinations of specifying the TZ in ISO8601 dates and the band's TZ parameter
3) Also see what TZ is used in the pop-up bubbles. Is it the date's TZ, or the band's TZ?
4) You can also think in terms of what are called "local times" -- this is where you don't really know or care what the timezone is. In this situation, you want the Timeline to show "9 am" and not have a TZ in the bubble or elsewhere.
Recommendations:
1) Create some sample data in your preferred format and experiment with it and Timeline. If you paint your own bubble
content then you have additional flexibility.
2) If you know the TZ of your data then you probably want the right TZ to show on your bubbles. If you don't know the TZ of your events then you shouldn't show the TZ since you don't know it. In this case, you'd want to override the bubble painter to enable you to not include the TZ.
3) Be aware of the TZ of your data in your database. Date objects always have some TZ, so if you don't specify it then you're leaving yourself open to problems later on. You should make an explicit decision about your data's timezone. Decide if you know it or not. If you don't, then be sure that the TZ of all your data will be set to either a specific TZ (often local) or UTC (aka GMT).
Hope this helped,
Larry