JDK-4028006 : API: Cannot create Atlantic Standard Time zone
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version:
    1.1,1.1.1,1.1.3,1.1.4,1.1.5,1.1.6,1.2.0 1.1,1.1.1,1.1.3,1.1.4,1.1.5,1.1.6,1.2.0
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS:
    generic,solaris_2.5.1,solaris_2.6,windows_95,windows_nt generic,solaris_2.5.1,solaris_2.6,windows_95,windows_nt
  • CPU: generic,other,x86,sparc
  • Submitted: 1997-01-25
  • Updated: 1999-01-19
  • Resolved: 1999-01-19
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.2.0 1.2beta4Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Description
Cannot create Atlantic Standard Time Zone, instead the timezone ID of AST creates Alaska Time Zone.  

Steps to reproduce:
Compile and run the attached java code

import java.util.TimeZone;

public class tz {
    static final int millisInHour = 3600000;
    public static void main( String argv[] ) {

        TimeZone tz1 = TimeZone.getTimeZone( "AST" );
        if( tz1 == null ) {
            System.out.println( "Time zone is null" );
        }
        else{
            System.out.println( "Offset: " + 
                                tz1.getRawOffset()/ (double)millisInHour );
            System.out.println( "Should be -4" );
        }
        
    }
}

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: generic FIXED IN: 1.2beta4 INTEGRATED IN: 1.2beta4 VERIFIED IN: 1.2fcs
14-06-2004

EVALUATION kevin.chu@Corp 1998-05-13 It is false to say that this is unfixable for 1.1.X. The src code for 1.1.6 actual HAS all of the missing SimpleTimeZone objects, BUT THEY ARE COMMENTED OUT!!! The only issue is unique three letter names. There are 17,576 unique three letter combos, so while you may not be able to create a one to one relationship with real-life three letter timezone names (since they overlap), you still can create ONE unique name and then docment its geographical timezone. Example: There is no timezone for British Summer/Standard Time. So use the COMMENTED OUT value for "Europe/London" and call it "GBT" for Great Britain Time (since BST is taken). As long as the documentation states this clearly, people should be OK. -klc This is a design problem that can not be resolved for 1.1.1. New API needs to be developed to handle the fact that three letter ids are not unique. This is therefore being downgraded in priority (but not severity) until such time as API can be added. -- SEE ALSO Duplicates 4034493 4075987 4085909 4088590 These are all bugs that are presenting because of the lack of long TZ names kathleen.wilson@eng 1998-04-14 This bug is hit a lot, so it really needs to be resolved for JDK 1.2. I'm upgrading the priority to require that it gets fixed for JDK 1.2 FCS. ------------------------ This bug was approved and fixed in JDK 1.2. here is the change that was made: While this proposal requires no syntactic changes to the API, there are several semantic changes needed: 1.Internally, the names of all time zones will be changed from the current three-letter abbreviations to the longer Continent/City names described above. 2.Methods which return TimeZone ID's will now return the new, longer names. This includes getAvailableIDs, getAvailableIDs(int), and getID. 3.The getTimeZone method which takes a TimeZone ID as its parameter will accept either the new, long names or the old, 3-letter, JDK 1.1 abbreviations for compatibility.
11-06-2004

WORK AROUND kevin.chu@Corp 1998-05-13 BTW, the original bug "Can't create Altantic Standard Time" is not a bug. You can. Its TimeZone id "PRT" and is GMT-4hours with no Daylight Savings. Here is a list of all the exiting 1.1.6 Java TimeZones. Almost all areas are covered, except small, remote areas like London and Paris. MIT (Samoa Standard Time) (GMT-11:00 GMT-11:00) -660 minutes (-11.0 hours). USES STANDARD ALWAYS HST (Hawaiian Standard Time) (HST Hawaii Standard Time) -600 minutes (-10.0 hours). USES STANDARD ALWAYS AST (Cen. Australia Standard Time) (AKDT Alaska Daylight Time) -480 minutes (-8.0 hours). USES DAYLIGHT IN DAYLIGHT PST (Pacific Standard Time) (PDT Pacific Daylight Time) -420 minutes (-7.0 hours). USES DAYLIGHT IN DAYLIGHT PNT (Phoenix Standard Time) (MST Mountain Standard Time) -420 minutes (-7.0 hours). USES STANDARD ALWAYS MST (Mountain Standard Time) (MDT Mountain Daylight Time) -360 minutes (-6.0 hours). USES DAYLIGHT IN DAYLIGHT CST (Central Standard Time) (CDT Central Daylight Time) -300 minutes (-5.0 hours). USES DAYLIGHT IN DAYLIGHT EST (Eastern Standard Time) (EDT Eastern Daylight Time) -240 minutes (-4.0 hours). USES DAYLIGHT IN DAYLIGHT IET (Indiana Eastern Standard) (EST Eastern Standard Time) -300 minutes (-5.0 hours). USES STANDARD ALWAYS PRT (Atlantic Standard Time) (GMT-04:00 GMT-04:00) -240 minutes (-4.0 hours). USES STANDARD ALWAYS CNT (Newfoundland Standard Time) (NDT Newfoundland Daylight Time) -150 minutes (-2.5 hours). USES DAYLIGHT IN DAYLIGHT AGT (Argentina Standard Time) (GMT-03:00 GMT-03:00) -180 minutes (-3.0 hours). USES STANDARD ALWAYS BET (Brazil Eastern Time) (GMT-03:00 GMT-03:00) -180 minutes (-3.0 hours). USES DAYLIGHT IN STANDARD CAT (Central African Time) (GMT-01:00 GMT-01:00) -60 minutes (-1.0 hours). USES STANDARD ALWAYS GMT (Greenwich Mean Time) (GMT Greenwich Mean Time) 0 minutes (0.0 hours). USES STANDARD ALWAYS UTC (Universal Time) (GMT+00:00 GMT+00:00) 0 minutes (0.0 hours). USES STANDARD ALWAYS ECT (European Central Time) (CEST Central European Daylight Time) 120 minutes (2.0 hours). USES DAYLIGHT IN DAYLIGHT EET (Eastern European Time) (GMT+03:00 GMT+03:00) 180 minutes (3.0 hours). USES DAYLIGHT IN DAYLIGHT ART (Egypt Standard Time) (GMT+03:00 GMT+03:00) 180 minutes (3.0 hours). USES DAYLIGHT IN DAYLIGHT EAT (Eastern African Time) (GMT+03:00 GMT+03:00) 180 minutes (3.0 hours). USES STANDARD ALWAYS MET (Iran Standard Time) (GMT+04:30 GMT+04:30) 270 minutes (4.5 hours). USES DAYLIGHT IN DAYLIGHT NET (Arabian Standard Time) (GMT+04:00 GMT+04:00) 240 minutes (4.0 hours). USES STANDARD ALWAYS PLT (West Asia Standard Time) (GMT+05:00 GMT+05:00) 300 minutes (5.0 hours). USES STANDARD ALWAYS IST (India Standard Time) (GMT+05:30 GMT+05:30) 330 minutes (5.5 hours). USES STANDARD ALWAYS BST (Central Asia Standard Time) (GMT+06:00 GMT+06:00) 360 minutes (6.0 hours). USES STANDARD ALWAYS VST (Bangkok Standard Time) (GMT+07:00 GMT+07:00) 420 minutes (7.0 hours). USES STANDARD ALWAYS CTT (China Standard Time) (CST China Standard Time) 480 minutes (8.0 hours). USES STANDARD ALWAYS JST (Tokyo Standard Time) (JST Japan Standard Time) 540 minutes (9.0 hours). USES STANDARD ALWAYS ACT (Australia Central Time) (GMT+09:30 GMT+09:30) 570 minutes (9.5 hours). USES STANDARD ALWAYS AET (Sydney Standard Time) (GMT+10:00 GMT+10:00) 600 minutes (10.0 hours). USES DAYLIGHT IN STANDARD SST (Central Pacific Standard Time) (GMT+11:00 GMT+11:00) 660 minutes (11.0 hours). USES STANDARD ALWAYS NST (New Zealand Standard Time) (GMT+12:00 GMT+12:00) 720 minutes (12.0 hours). USES STANDARD ALWAYS
11-06-2004

PUBLIC COMMENTS .
10-06-2004