Open yoseph-phillips opened 3 years ago
There are also other issues:
GWT currently only supports a single standard offset for a timezone, however there are regions whose standard offset has changed over time. GWT currently uses the newest standard offset and ignores all historic standard offsets, which makes some historic date times incorrect.
If I remember correctly some transitions do not happen at a full hour. However the GWT properties file and the code reading it only support full hours as transition points. So resolution in the properties file need to be increased to minutes.
I discovered both while writing a tool that generates the timezoneconstants.properties file based on the Java timezone information (tzdata) extracted using the java.time API.
@vegegoku has worked on migrating GWT i18n support to be J2CL compatible. I don't know about the current state, but maybe he can say something about it. I guess the missing transitions should be available in his work as it uses newer CLDR database, but both issues above probably still remain as they require larger changes to GWT.
We upgraded GWT2.9 to use cldr data version 34 (was 25) but as for the Timezone constants file we could not find the tool or any information on how this file was produced, and we appreciate any help in this regard.
GWT version: 2.9.0 Browser (with version): All Operating System: All
Description
TimeZoneConstants.properties is sill missing lots of transitions. This is causing lots of dramas for historical dates. There are lots of issues where this has already been reported such as https://github.com/gwtproject/gwt/issues/8800, and yet they keep on getting closed without the issue getting fixed. The root cause seems to be that this file is getting generated from a source which is missing lots of transitions.
Here are some examples of missing transitions: australiaSydney: -464601, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0, -230096, 60, -225896, 0 australiaBrokenHill: -464601, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0, -230096, 60, -225896, 0 australiaDarwin: -464601, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0, -230096, 60, -225896, 0 australiaAdelaide: -464601, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0, -230096, 60, -225896, 0 australiaHobart: -466808, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0, -230096, 60, -225896, 0, -19760, 60, -15391, 0, -10352, 60, -7159, 0, -1616, 60, 1577, 0 australiaCurrie: -466808, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0, -230096, 60, -225896, 0 australiaBrisbane: -464601, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0, -230096, 60, -225896, 0 australiaLindeman: -464601, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0, -230096, 60, -225896, 0 australiaMelbourne: -464601, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0, -230096, 60, -225896, 0 australiaPerth: -464601, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0 australiaEucla: -464601, 60, -462608, 0, -245456, 60, -243368, 0, -239000, 60, -234632, 0 pacificAuckland: -999999, -30, -369537, 30, -366681, -30, -361306, 0, -357609, -30, -352570, 0, -348873, -30, -343834, 0, -340137, -30, -335098, 0, -331233, -30, -326362, 0, -322497, -30, -317626, 0, -312753, -30, -309058, 0, -304017, -30, -300322, 0, -295281, -30, -291586, 0, -286545, -30, -282850, 0, -277809, -30, -274114, 0, -268905, -30, -265378, 0, -260169, -30, -256474, 0
Steps to reproduce
Please see many of the closed issues for how to reproduce errors that this is causing.