JDK-4252829 : Win32: platform-to-java timezone mapping has errors; mapping tables are obsolete
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version:
    1.1,1.1.2,1.1.3,1.1.4,1.1.6,1.1.7,1.1.8,1.2.0,1.2.1,1.2.2,1.3.0 1.1,1.1.2,1.1.3,1.1.4,1.1.6,1.1.7,1.1.8,1.2.0,1.2.1,1.2.2,1.3.0
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS:
    generic,solaris_2.5.1,solaris_2.6,windows_95,windows_98,windows_nt generic,solaris_2.5.1,solaris_2.6,windows_95,windows_98,windows_nt
  • CPU: generic,other,x86,sparc
  • Submitted: 1999-07-09
  • Updated: 2002-03-01
  • Resolved: 1999-09-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.3.0 kestrelFixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
In Windows98 and Windows NT SP4, timezone information has been updated. Some timezones were split. Some were changed for latest DST rules. Internal timezone mapping tables for Win32 should be updated to deal with the changes. Also there seem to be some errors in the internal mapping tables.

Another problem of platform-to-java time zone mapping is that it's based on numeric comparisons (except for English Windows). Therefore, there is no way to distinguish two (or more) different time zones that have the same GMT offset. Use of Daylight Saving Time is a parameter for the maching, but different DST schedule is not considered, which also causes mapping errors for some time zones.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: kestrel FIXED IN: kestrel INTEGRATED IN: kestrel
14-06-2004

SUGGESTED FIX Proposed backport of this fix for patch to JDK1.2.2 is in Attachments. In the proposed fix, all but two of the timezones have been updated to reflect data from Olson 1999e which is compatible with current fix in kestrel. Two timezones have not been updated to remain compatible with the JCK tests for JDK1.2.2; America/Godthab (Greenland offset -3) and Asia/Yerevan (Armenia offset 4). carolyn.lowenthal@Eng 2000-01-10
10-01-2000

PUBLIC COMMENTS Introduction of Win98/NT4 Service Pack4 changes win32 internal time zone name. This obsoletes previous time zone mappings code. Also, old code relies on region information to differenciate time zone. Though it was not right way. The fix applied to query registry information directly and map it to java time zone. koushi.takahashi@japan 1999-09-07
07-09-1999

EVALUATION This problem will be fixed along with the platform to Java timezone mappings probleams. masayoshi.okutsu@Eng 1999-07-09 JDK1.3 "L" shows several incorrectness when it set "user.timezone" system properties. For example, following table shows wrong time zone in various Time/Data control panel "Time Zone" setting. Also, 1.3 "L" uses region information to determine the current time zone. This causes non-US system situation worse. === Checking ID difference: NT4.0 SP3 "US" region Windows Registry Key JDK1.3 "L" Right Time Zone ------------------------------- --------------------- --------------------- AUS Central Standard Time Australia/Darwin Australia/Adelaide Dateline Standard Time Custom Pacific/Fiji Sydney Standard Time Australia/Brisbane Australia/Sydney === Checking ID difference: NT4.0ja SP4 "US" region Windows Registry Key JDK1.3 "L" Right Time Zone ------------------------------- --------------------- --------------------- AUS Central Standard Time Australia/Adelaide Australia/Darwin Arabian Standard Time Europe/Samara Asia/Muscat Atlantic Standard Time America/Santiago America/Halifax Bangkok Standard Time Asia/Krasnoyarsk Asia/Bangkok Canada Central Standard Time America/Chicago America/Regina Caucasus Standard Time Europe/Samara Asia/Tbilisi Central Asia Standard Time Asia/Novosibirsk Asia/Dacca Central Europe Standard Time Europe/Paris Europe/Prague Central European Standard Time Europe/Paris Europe/Prague Central Pacific Standard Time Asia/Magadan Pacific/Guadalcanal Dateline Standard Time Custom Pacific/Majuro E. Africa Standard Time Europe/Moscow Africa/Nairobi E. Australia Standard Time Australia/Sydney Australia/Brisbane E. Europe Standard Time Europe/Istanbul Europe/Bucharest Egypt Standard Time Europe/Istanbul Africa/Cairo FLE Standard Time Europe/Istanbul Europe/Helsinki Fiji Standard Time Pacific/Wake Pacific/Fiji GFT Standard Time Europe/Istanbul Europe/Athens GMT Custom Europe/London GMT Standard Time Custom GMT Hawaiian Standard Time America/Adak Pacific/Honolulu Israel Standard Time Europe/Istanbul Asia/Jerusalem Korea Standard Time Asia/Tokyo Asia/Seoul Mexico Standard Time America/Chicago America/Mexico New Zealand Standard Time Pacific/Wake Pacific/Auckland SA Eastern Standard Time America/Sao America/Buenos SA Pacific Standard Time America/New America/Bogota SA Western Standard Time America/Santiago America/Caracas Samoa Standard Time Pacific/Pago Pacific/Apia Saudi Arabia Standard Time Europe/Moscow Asia/Riyadh Singapore Standard Time Asia/Shanghai Asia/Singapore South Africa Standard Time Europe/Istanbul Africa/Harare Sri Lanka Standard Time Asia/Novosibirsk Asia/Colombo Taipei Standard Time Asia/Shanghai Asia/Taipei Tasmania Standard Time Australia/Sydney GMT US Eastern Standard Time America/New America/Indianapolis US Mountain Standard Time America/Denver America/Phoenix Vladivostok Standard Time Australia/Sydney Asia/Vladivostok W. Australia Standard Time Asia/Shanghai Australia/Perth W. Europe Standard Time Europe/Paris Europe/Berlin West Asia Standard Time Asia/Yekaterinburg Asia/Karachi West Pacific Standard Time Australia/Sydney Pacific/Guam === Checking ID difference: NT4.0ja SP4 "JA" region Windows Registry Key JDK1.3 "L" Right Time Zone ------------------------------- --------------------- --------------------- AUS Central Standard Time Australia/Adelaide Australia/Darwin Arabian Standard Time Europe/Samara Asia/Muscat Atlantic Standard Time America/Santiago America/Halifax Bangkok Standard Time Asia/Krasnoyarsk Asia/Bangkok Canada Central Standard Time America/Chicago America/Regina Caucasus Standard Time Europe/Samara Asia/Tbilisi Central Asia Standard Time Asia/Novosibirsk Asia/Dacca Central Europe Standard Time Europe/Paris Europe/Prague Central European Standard Time Europe/Paris Europe/Prague Central Pacific Standard Time Asia/Magadan Pacific/Guadalcanal China Standard Time Asia/Ishigaki Asia/Shanghai Dateline Standard Time Custom Pacific/Majuro E. Africa Standard Time Europe/Moscow Africa/Nairobi E. Australia Standard Time Australia/Sydney Australia/Brisbane E. Europe Standard Time Europe/Istanbul Europe/Bucharest Egypt Standard Time Europe/Istanbul Africa/Cairo FLE Standard Time Europe/Istanbul Europe/Helsinki Fiji Standard Time Pacific/Auckland Pacific/Fiji GFT Standard Time Europe/Istanbul Europe/Athens GMT Custom Europe/London GMT Standard Time Custom GMT Hawaiian Standard Time Pacific/Rarotonga Pacific/Honolulu Israel Standard Time Europe/Istanbul Asia/Jerusalem Korea Standard Time Asia/Tokyo Asia/Seoul Mexico Standard Time America/Chicago America/Mexico SA Eastern Standard Time America/Sao America/Buenos SA Pacific Standard Time America/New America/Bogota SA Western Standard Time America/Santiago America/Caracas Samoa Standard Time Pacific/Pago Pacific/Apia Saudi Arabia Standard Time Europe/Moscow Asia/Riyadh Singapore Standard Time Asia/Ishigaki Asia/Singapore South Africa Standard Time Europe/Istanbul Africa/Harare Sri Lanka Standard Time Asia/Novosibirsk Asia/Colombo Taipei Standard Time Asia/Ishigaki Asia/Taipei Tasmania Standard Time Australia/Sydney GMT US Eastern Standard Time America/New America/Indianapolis US Mountain Standard Time America/Denver America/Phoenix Vladivostok Standard Time Australia/Sydney Asia/Vladivostok W. Australia Standard Time Asia/Ishigaki Australia/Perth W. Europe Standard Time Europe/Paris Europe/Berlin West Asia Standard Time Asia/Yekaterinburg Asia/Karachi West Pacific Standard Time Australia/Sydney Pacific/Guam koushi.takahashi@japan 1999-07-23 Checking ID difference: Win95Bja "JA" region Windows Registry Key ------------------------------- --------------------- --------------------- AUS Central Australia/Adelaide Australia/Darwin Arabian Europe/Samara Asia/Muscat Atlantic America/Santiago America/Halifax Bangkok Asia/Krasnoyarsk Asia/Bangkok Beijing Asia/Ishigaki Asia/Shanghai Canada Central America/Chicago America/Regina Central Asia Asia/Novosibirsk Asia/Dacca Central Pacific Asia/Magadan Pacific/Guadalcanal Dateline Custom Pacific/Majuro E. Australia Australia/Sydney Australia/Brisbane E. Europe Europe/Istanbul Europe/Bucharest Egypt Europe/Istanbul Africa/Cairo Fiji Pacific/Auckland Pacific/Fiji GFT Europe/Istanbul Europe/Athens GMT Custom Europe/London Greenwich Custom GMT Hawaiian Pacific/Rarotonga Pacific/Honolulu Israel Europe/Istanbul Asia/Jerusalem Mexico America/Chicago America/Mexico Prague Bratislava Europe/Paris Europe/Prague SA Eastern America/Sao America/Buenos SA Pacific America/New America/Bogota SA Western America/Santiago America/Caracas Samoa Pacific/Pago Pacific/Apia Saudi Arabia Europe/Moscow Asia/Riyadh South Africa Europe/Istanbul Africa/Harare Taipei Asia/Ishigaki Asia/Taipei Tasmania Australia/Sydney GMT US Eastern America/New America/Indianapolis US Mountain America/Denver America/Phoenix W. Europe Europe/Paris Europe/Berlin Warsaw Europe/Paris Europe/Warsaw West Asia Asia/Yekaterinburg Asia/Karachi koushi.takahashi@japan 1999-07-26
26-07-1999