Support timezone as a geographical concept (e.g. "America/New_York") not a fixed offset (e.g. 300 minutes)
This is a fallout of the other request "Set timezone", which has been completed in Apr 2014.
However, in that request, timezone was supported as a fixed offset (e.g. 300 minutes), but in human society, timezone is a geographical concept (e.g. "America/New_York") and many of them have two offsets -- due to the use of Daylight-saving time.
IANA maintains a database of timezone (TZ) that is based on a geographical ID (e.g. "America/New_York")
c.f. http://en.wikipedia.org/wiki/Tz_database
GWT already has some limited support of the IANA TZ databases. The data is contained in a file called TimeZoneConstants.properties.
We implemented a new option, global.getTimezoneOffset. It is a callback function that takes a timestamp as argument and returns the timezoneOffset in minutes for that particular time. It serves as a hook for libraries like moment-timezone.js.
Demo at http://jsfiddle.net/highcharts/k96t1dy7/.
Any comments, corrections etc. are welcome!
-
Anonymous commented
Thankyou, this is a life saver.
-
It will be available from version 2.1, scheduled for release within some weeks.
-
Mark commented
Any idea when this will be available in highstock?
-
Thanks! The hook itself will be included in the core, so you just need to specify the getTimezoneOffset callback like I did in the sample in order to utilize moment-timezone.js or whatever library provides the same capabilities.
-
Anonymous commented
This looks perfect, will it be released as a Highcharts module, or included in Higharts core?
-
Anonymous commented
There doesn't appear to be any shortage of JS libraries for managing time zones. This one looks quite promising and mature: http://momentjs.com/timezone/