/[classpath]/classpath/java/util/TimeZone.java
ViewVC logotype

Diff of /classpath/java/util/TimeZone.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.20 by tromey, Wed Sep 25 21:08:46 2002 UTC revision 1.21 by iproetel, Tue Aug 12 13:41:26 2003 UTC
# Line 80  public abstract class TimeZone implement Line 80  public abstract class TimeZone implement
80    /**    /**
81     * The default time zone, as returned by getDefault.     * The default time zone, as returned by getDefault.
82     */     */
83    private static TimeZone defaultZone;    private static TimeZone defaultZone0;
84      /* initialize this static field lazily to overhead if
85       * it is not needed:
86       */
87      private static synchronized TimeZone defaultZone() {
88        /* Look up default timezone */
89        if (defaultZone0 == null)
90          {
91            if (Configuration.INIT_LOAD_LIBRARY)
92              {
93                System.loadLibrary("javautil");
94              }
95            String tzid = System.getProperty("user.timezone");
96            
97            if (tzid == null)
98              tzid = getDefaultTimeZoneId();
99            
100            if (tzid == null)
101              tzid = "GMT";
102            
103            defaultZone0 = getTimeZone(tzid);
104          }
105        return defaultZone0;
106      }
107    
108    
109    private static final long serialVersionUID = 3581463369166924961L;    private static final long serialVersionUID = 3581463369166924961L;
110    
111    /**    /**
112     * Hashtable for timezones by ID.       * Hashtable for timezones by ID.  
113     */     */
114    private static final Hashtable timezones = new Hashtable();    private static Hashtable timezones0;
115      /* initialize this static field lazily to overhead if
116    static     * it is not needed:
117    {     */
118      TimeZone tz;    private static synchronized Hashtable timezones() {
119      // Automatically generated by scripts/timezones.pl      if (timezones0==null)
     // XXX - Should we read this data from a file?  
     tz = new SimpleTimeZone(-11000 * 3600, "MIT");  
     timezones.put("MIT", tz);  
     timezones.put("Pacific/Apia", tz);  
     timezones.put("Pacific/Midway", tz);  
     timezones.put("Pacific/Niue", tz);  
     timezones.put("Pacific/Pago_Pago", tz);  
     tz = new SimpleTimeZone  
       (-10000 * 3600, "America/Adak",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("America/Adak", tz);  
     tz = new SimpleTimeZone(-10000 * 3600, "HST");  
     timezones.put("HST", tz);  
     timezones.put("Pacific/Fakaofo", tz);  
     timezones.put("Pacific/Honolulu", tz);  
     timezones.put("Pacific/Johnston", tz);  
     timezones.put("Pacific/Rarotonga", tz);  
     timezones.put("Pacific/Tahiti", tz);  
     tz = new SimpleTimeZone(-9500 * 3600, "Pacific/Marquesas");  
     timezones.put("Pacific/Marquesas", tz);  
     tz = new SimpleTimeZone  
       (-9000 * 3600, "AST",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("AST", tz);  
     timezones.put("America/Anchorage", tz);  
     timezones.put("America/Juneau", tz);  
     timezones.put("America/Nome", tz);  
     timezones.put("America/Yakutat", tz);  
     tz = new SimpleTimeZone(-9000 * 3600, "Pacific/Gambier");  
     timezones.put("Pacific/Gambier", tz);  
     tz = new SimpleTimeZone  
       (-8000 * 3600, "PST",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("PST", tz);  
     timezones.put("PST8PDT", tz);  
     timezones.put("America/Dawson", tz);  
     timezones.put("America/Los_Angeles", tz);  
     timezones.put("America/Tijuana", tz);  
     timezones.put("America/Vancouver", tz);  
     timezones.put("America/Whitehorse", tz);  
     timezones.put("US/Pacific-New", tz);  
     tz = new SimpleTimeZone(-8000 * 3600, "Pacific/Pitcairn");  
     timezones.put("Pacific/Pitcairn", tz);  
     tz = new SimpleTimeZone  
       (-7000 * 3600, "MST",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("MST", tz);  
     timezones.put("MST7MDT", tz);  
     timezones.put("America/Boise", tz);  
     timezones.put("America/Chihuahua", tz);  
     timezones.put("America/Denver", tz);  
     timezones.put("America/Edmonton", tz);  
     timezones.put("America/Inuvik", tz);  
     timezones.put("America/Mazatlan", tz);  
     timezones.put("America/Shiprock", tz);  
     timezones.put("America/Yellowknife", tz);  
     tz = new SimpleTimeZone(-7000 * 3600, "MST7");  
     timezones.put("MST7", tz);  
     timezones.put("PNT", tz);  
     timezones.put("America/Dawson_Creek", tz);  
     timezones.put("America/Hermosillo", tz);  
     timezones.put("America/Phoenix", tz);  
     tz = new SimpleTimeZone  
       (-6000 * 3600, "CST",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("CST", tz);  
     timezones.put("CST6CDT", tz);  
     timezones.put("America/Cambridge_Bay", tz);  
     timezones.put("America/Cancun", tz);  
     timezones.put("America/Chicago", tz);  
     timezones.put("America/Menominee", tz);  
     timezones.put("America/Merida", tz);  
     timezones.put("America/Mexico_City", tz);  
     timezones.put("America/Monterrey", tz);  
     timezones.put("America/Rainy_River", tz);  
     timezones.put("America/Winnipeg", tz);  
     tz = new SimpleTimeZone(-6000 * 3600, "America/Belize");  
     timezones.put("America/Belize", tz);  
     timezones.put("America/Costa_Rica", tz);  
     timezones.put("America/El_Salvador", tz);  
     timezones.put("America/Guatemala", tz);  
     timezones.put("America/Managua", tz);  
     timezones.put("America/Regina", tz);  
     timezones.put("America/Swift_Current", tz);  
     timezones.put("America/Tegucigalpa", tz);  
     timezones.put("Pacific/Galapagos", tz);  
     tz = new SimpleTimeZone  
       (-6000 * 3600, "Pacific/Easter",  
        Calendar.OCTOBER, 9, -Calendar.SUNDAY, 0 * 3600,  
        Calendar.MARCH, 9, -Calendar.SUNDAY, 0 * 3600);  
     timezones.put("Pacific/Easter", tz);  
     tz = new SimpleTimeZone  
       (-5000 * 3600, "America/Grand_Turk",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 0 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);  
     timezones.put("America/Grand_Turk", tz);  
     timezones.put("America/Havana", tz);  
     tz = new SimpleTimeZone(-5000 * 3600, "EST5");  
     timezones.put("EST5", tz);  
     timezones.put("IET", tz);  
     timezones.put("America/Bogota", tz);  
     timezones.put("America/Cayman", tz);  
     timezones.put("America/Eirunepe", tz);  
     timezones.put("America/Guayaquil", tz);  
     timezones.put("America/Indiana/Indianapolis", tz);  
     timezones.put("America/Indiana/Knox", tz);  
     timezones.put("America/Indiana/Marengo", tz);  
     timezones.put("America/Indiana/Vevay", tz);  
     timezones.put("America/Indianapolis", tz);  
     timezones.put("America/Iqaluit", tz);  
     timezones.put("America/Jamaica", tz);  
     timezones.put("America/Lima", tz);  
     timezones.put("America/Panama", tz);  
     timezones.put("America/Pangnirtung", tz);  
     timezones.put("America/Port-au-Prince", tz);  
     timezones.put("America/Porto_Acre", tz);  
     timezones.put("America/Rankin_Inlet", tz);  
     tz = new SimpleTimeZone  
       (-5000 * 3600, "EST",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("EST", tz);  
     timezones.put("EST5EDT", tz);  
     timezones.put("America/Detroit", tz);  
     timezones.put("America/Kentucky/Louisville", tz);  
     timezones.put("America/Kentucky/Monticello", tz);  
     timezones.put("America/Louisville", tz);  
     timezones.put("America/Montreal", tz);  
     timezones.put("America/Nassau", tz);  
     timezones.put("America/New_York", tz);  
     timezones.put("America/Nipigon", tz);  
     timezones.put("America/Thunder_Bay", tz);  
     tz = new SimpleTimeZone(-4000 * 3600, "PRT");  
     timezones.put("PRT", tz);  
     timezones.put("America/Anguilla", tz);  
     timezones.put("America/Antigua", tz);  
     timezones.put("America/Aruba", tz);  
     timezones.put("America/Barbados", tz);  
     timezones.put("America/Boa_Vista", tz);  
     timezones.put("America/Caracas", tz);  
     timezones.put("America/Curacao", tz);  
     timezones.put("America/Dominica", tz);  
     timezones.put("America/Grenada", tz);  
     timezones.put("America/Guadeloupe", tz);  
     timezones.put("America/Guyana", tz);  
     timezones.put("America/La_Paz", tz);  
     timezones.put("America/Manaus", tz);  
     timezones.put("America/Martinique", tz);  
     timezones.put("America/Montserrat", tz);  
     timezones.put("America/Port_of_Spain", tz);  
     timezones.put("America/Porto_Velho", tz);  
     timezones.put("America/Puerto_Rico", tz);  
     timezones.put("America/Santo_Domingo", tz);  
     timezones.put("America/St_Kitts", tz);  
     timezones.put("America/St_Lucia", tz);  
     timezones.put("America/St_Thomas", tz);  
     timezones.put("America/St_Vincent", tz);  
     timezones.put("America/Tortola", tz);  
     tz = new SimpleTimeZone  
       (-4000 * 3600, "America/Asuncion",  
        Calendar.OCTOBER, 1, Calendar.SUNDAY, 0 * 3600,  
        Calendar.FEBRUARY, -1, Calendar.SUNDAY, 0 * 3600);  
     timezones.put("America/Asuncion", tz);  
     tz = new SimpleTimeZone  
       (-4000 * 3600, "America/Cuiaba",  
        Calendar.OCTOBER, 2, Calendar.SUNDAY, 0 * 3600,  
        Calendar.FEBRUARY, 3, Calendar.SUNDAY, 0 * 3600);  
     timezones.put("America/Cuiaba", tz);  
     tz = new SimpleTimeZone  
       (-4000 * 3600, "America/Goose_Bay",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 60000,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 60000);  
     timezones.put("America/Goose_Bay", tz);  
     tz = new SimpleTimeZone  
       (-4000 * 3600, "America/Glace_Bay",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("America/Glace_Bay", tz);  
     timezones.put("America/Halifax", tz);  
     timezones.put("America/Thule", tz);  
     timezones.put("Atlantic/Bermuda", tz);  
     tz = new SimpleTimeZone  
       (-4000 * 3600, "America/Santiago",  
        Calendar.OCTOBER, 9, -Calendar.SUNDAY, 0 * 3600,  
        Calendar.MARCH, 9, -Calendar.SUNDAY, 0 * 3600);  
     timezones.put("America/Santiago", tz);  
     timezones.put("Antarctica/Palmer", tz);  
     tz = new SimpleTimeZone  
       (-4000 * 3600, "Atlantic/Stanley",  
        Calendar.SEPTEMBER, 2, Calendar.SUNDAY, 0 * 3600,  
        Calendar.APRIL, 16, -Calendar.SUNDAY, 0 * 3600);  
     timezones.put("Atlantic/Stanley", tz);  
     tz = new SimpleTimeZone  
       (-3500 * 3600, "CNT",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 60000,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 60000);  
     timezones.put("CNT", tz);  
     timezones.put("America/St_Johns", tz);  
     tz = new SimpleTimeZone  
       (-3000 * 3600, "America/Araguaina",  
        Calendar.OCTOBER, 2, Calendar.SUNDAY, 0 * 3600,  
        Calendar.FEBRUARY, 3, Calendar.SUNDAY, 0 * 3600);  
     timezones.put("America/Araguaina", tz);  
     timezones.put("America/Sao_Paulo", tz);  
     tz = new SimpleTimeZone(-3000 * 3600, "AGT");  
     timezones.put("AGT", tz);  
     timezones.put("America/Belem", tz);  
     timezones.put("America/Buenos_Aires", tz);  
     timezones.put("America/Catamarca", tz);  
     timezones.put("America/Cayenne", tz);  
     timezones.put("America/Cordoba", tz);  
     timezones.put("America/Fortaleza", tz);  
     timezones.put("America/Jujuy", tz);  
     timezones.put("America/Maceio", tz);  
     timezones.put("America/Mendoza", tz);  
     timezones.put("America/Montevideo", tz);  
     timezones.put("America/Paramaribo", tz);  
     timezones.put("America/Recife", tz);  
     timezones.put("America/Rosario", tz);  
     tz = new SimpleTimeZone  
       (-3000 * 3600, "America/Godthab",  
        Calendar.MARCH, 30, -Calendar.SATURDAY, 22000 * 3600,  
        Calendar.OCTOBER, 30, -Calendar.SATURDAY, 22000 * 3600);  
     timezones.put("America/Godthab", tz);  
     tz = new SimpleTimeZone  
       (-3000 * 3600, "America/Miquelon",  
        Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("America/Miquelon", tz);  
     tz = new SimpleTimeZone(-2000 * 3600, "America/Noronha");  
     timezones.put("America/Noronha", tz);  
     timezones.put("Atlantic/South_Georgia", tz);  
     tz = new SimpleTimeZone  
       (-1000 * 3600, "America/Scoresbysund",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);  
     timezones.put("America/Scoresbysund", tz);  
     timezones.put("Atlantic/Azores", tz);  
     tz = new SimpleTimeZone(-1000 * 3600, "Atlantic/Cape_Verde");  
     timezones.put("Atlantic/Cape_Verde", tz);  
     timezones.put("Atlantic/Jan_Mayen", tz);  
     tz = new SimpleTimeZone(0 * 3600, "GMT");  
     timezones.put("GMT", tz);  
     timezones.put("UTC", tz);  
     timezones.put("Africa/Abidjan", tz);  
     timezones.put("Africa/Accra", tz);  
     timezones.put("Africa/Bamako", tz);  
     timezones.put("Africa/Banjul", tz);  
     timezones.put("Africa/Bissau", tz);  
     timezones.put("Africa/Casablanca", tz);  
     timezones.put("Africa/Conakry", tz);  
     timezones.put("Africa/Dakar", tz);  
     timezones.put("Africa/El_Aaiun", tz);  
     timezones.put("Africa/Freetown", tz);  
     timezones.put("Africa/Lome", tz);  
     timezones.put("Africa/Monrovia", tz);  
     timezones.put("Africa/Nouakchott", tz);  
     timezones.put("Africa/Ouagadougou", tz);  
     timezones.put("Africa/Sao_Tome", tz);  
     timezones.put("Africa/Timbuktu", tz);  
     timezones.put("Atlantic/Reykjavik", tz);  
     timezones.put("Atlantic/St_Helena", tz);  
     timezones.put("Europe/Belfast", tz);  
     timezones.put("Europe/Dublin", tz);  
     timezones.put("Europe/London", tz);  
     tz = new SimpleTimeZone  
       (0 * 3600, "WET",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 1000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 1000 * 3600);  
     timezones.put("WET", tz);  
     timezones.put("Atlantic/Canary", tz);  
     timezones.put("Atlantic/Faeroe", tz);  
     timezones.put("Atlantic/Madeira", tz);  
     timezones.put("Europe/Lisbon", tz);  
     tz = new SimpleTimeZone(1000 * 3600, "Africa/Algiers");  
     timezones.put("Africa/Algiers", tz);  
     timezones.put("Africa/Bangui", tz);  
     timezones.put("Africa/Brazzaville", tz);  
     timezones.put("Africa/Douala", tz);  
     timezones.put("Africa/Kinshasa", tz);  
     timezones.put("Africa/Lagos", tz);  
     timezones.put("Africa/Libreville", tz);  
     timezones.put("Africa/Luanda", tz);  
     timezones.put("Africa/Malabo", tz);  
     timezones.put("Africa/Ndjamena", tz);  
     timezones.put("Africa/Niamey", tz);  
     timezones.put("Africa/Porto-Novo", tz);  
     timezones.put("Africa/Tunis", tz);  
     tz = new SimpleTimeZone  
       (1000 * 3600, "Africa/Windhoek",  
        Calendar.SEPTEMBER, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Africa/Windhoek", tz);  
     tz = new SimpleTimeZone  
       (1000 * 3600, "CET",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("CET", tz);  
     timezones.put("ECT", tz);  
     timezones.put("MET", tz);  
     timezones.put("Africa/Ceuta", tz);  
     timezones.put("Arctic/Longyearbyen", tz);  
     timezones.put("Europe/Amsterdam", tz);  
     timezones.put("Europe/Andorra", tz);  
     timezones.put("Europe/Belgrade", tz);  
     timezones.put("Europe/Berlin", tz);  
     timezones.put("Europe/Bratislava", tz);  
     timezones.put("Europe/Brussels", tz);  
     timezones.put("Europe/Budapest", tz);  
     timezones.put("Europe/Copenhagen", tz);  
     timezones.put("Europe/Gibraltar", tz);  
     timezones.put("Europe/Ljubljana", tz);  
     timezones.put("Europe/Luxembourg", tz);  
     timezones.put("Europe/Madrid", tz);  
     timezones.put("Europe/Malta", tz);  
     timezones.put("Europe/Monaco", tz);  
     timezones.put("Europe/Oslo", tz);  
     timezones.put("Europe/Paris", tz);  
     timezones.put("Europe/Prague", tz);  
     timezones.put("Europe/Rome", tz);  
     timezones.put("Europe/San_Marino", tz);  
     timezones.put("Europe/Sarajevo", tz);  
     timezones.put("Europe/Skopje", tz);  
     timezones.put("Europe/Stockholm", tz);  
     timezones.put("Europe/Tirane", tz);  
     timezones.put("Europe/Vaduz", tz);  
     timezones.put("Europe/Vatican", tz);  
     timezones.put("Europe/Vienna", tz);  
     timezones.put("Europe/Warsaw", tz);  
     timezones.put("Europe/Zagreb", tz);  
     timezones.put("Europe/Zurich", tz);  
     tz = new SimpleTimeZone  
       (2000 * 3600, "ART",  
        Calendar.APRIL, -1, Calendar.FRIDAY, 0 * 3600,  
        Calendar.SEPTEMBER, -1, Calendar.THURSDAY, 23000 * 3600);  
     timezones.put("ART", tz);  
     timezones.put("Africa/Cairo", tz);  
     tz = new SimpleTimeZone(2000 * 3600, "CAT");  
     timezones.put("CAT", tz);  
     timezones.put("Africa/Blantyre", tz);  
     timezones.put("Africa/Bujumbura", tz);  
     timezones.put("Africa/Gaborone", tz);  
     timezones.put("Africa/Harare", tz);  
     timezones.put("Africa/Johannesburg", tz);  
     timezones.put("Africa/Kigali", tz);  
     timezones.put("Africa/Lubumbashi", tz);  
     timezones.put("Africa/Lusaka", tz);  
     timezones.put("Africa/Maputo", tz);  
     timezones.put("Africa/Maseru", tz);  
     timezones.put("Africa/Mbabane", tz);  
     timezones.put("Africa/Tripoli", tz);  
     timezones.put("Europe/Riga", tz);  
     timezones.put("Europe/Tallinn", tz);  
     timezones.put("Europe/Vilnius", tz);  
     tz = new SimpleTimeZone  
       (2000 * 3600, "Asia/Amman",  
        Calendar.MARCH, -1, Calendar.THURSDAY, 0 * 3600,  
        Calendar.SEPTEMBER, -1, Calendar.THURSDAY, 0 * 3600);  
     timezones.put("Asia/Amman", tz);  
     tz = new SimpleTimeZone  
       (2000 * 3600, "Asia/Beirut",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);  
     timezones.put("Asia/Beirut", tz);  
     tz = new SimpleTimeZone  
       (2000 * 3600, "Asia/Damascus",  
        Calendar.APRIL, 1, 0, 0 * 3600,  
        Calendar.OCTOBER, 1, 0, 0 * 3600);  
     timezones.put("Asia/Damascus", tz);  
     tz = new SimpleTimeZone  
       (2000 * 3600, "Asia/Gaza",  
        Calendar.APRIL, 3, Calendar.FRIDAY, 0 * 3600,  
        Calendar.OCTOBER, 3, Calendar.FRIDAY, 0 * 3600);  
     timezones.put("Asia/Gaza", tz);  
     tz = new SimpleTimeZone  
       (2000 * 3600, "Asia/Jerusalem",  
        Calendar.APRIL, 1, 0, 1000 * 3600,  
        Calendar.OCTOBER, 1, 0, 1000 * 3600);  
     timezones.put("Asia/Jerusalem", tz);  
     tz = new SimpleTimeZone  
       (2000 * 3600, "EET",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);  
     timezones.put("EET", tz);  
     timezones.put("Asia/Istanbul", tz);  
     timezones.put("Asia/Nicosia", tz);  
     timezones.put("Europe/Athens", tz);  
     timezones.put("Europe/Bucharest", tz);  
     timezones.put("Europe/Chisinau", tz);  
     timezones.put("Europe/Helsinki", tz);  
     timezones.put("Europe/Istanbul", tz);  
     timezones.put("Europe/Kiev", tz);  
     timezones.put("Europe/Nicosia", tz);  
     timezones.put("Europe/Simferopol", tz);  
     timezones.put("Europe/Sofia", tz);  
     timezones.put("Europe/Uzhgorod", tz);  
     timezones.put("Europe/Zaporozhye", tz);  
     tz = new SimpleTimeZone  
       (2000 * 3600, "Europe/Kaliningrad",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Europe/Kaliningrad", tz);  
     timezones.put("Europe/Minsk", tz);  
     tz = new SimpleTimeZone  
       (3000 * 3600, "Asia/Baghdad",  
        Calendar.APRIL, 1, 0, 3000 * 3600,  
        Calendar.OCTOBER, 1, 0, 3000 * 3600);  
     timezones.put("Asia/Baghdad", tz);  
     tz = new SimpleTimeZone  
       (3000 * 3600, "Europe/Moscow",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Europe/Moscow", tz);  
     timezones.put("Europe/Tiraspol", tz);  
     tz = new SimpleTimeZone(3000 * 3600, "EAT");  
     timezones.put("EAT", tz);  
     timezones.put("Africa/Addis_Ababa", tz);  
     timezones.put("Africa/Asmera", tz);  
     timezones.put("Africa/Dar_es_Salaam", tz);  
     timezones.put("Africa/Djibouti", tz);  
     timezones.put("Africa/Kampala", tz);  
     timezones.put("Africa/Khartoum", tz);  
     timezones.put("Africa/Mogadishu", tz);  
     timezones.put("Africa/Nairobi", tz);  
     timezones.put("Antarctica/Syowa", tz);  
     timezones.put("Asia/Aden", tz);  
     timezones.put("Asia/Bahrain", tz);  
     timezones.put("Asia/Kuwait", tz);  
     timezones.put("Asia/Qatar", tz);  
     timezones.put("Asia/Riyadh", tz);  
     timezones.put("Indian/Antananarivo", tz);  
     timezones.put("Indian/Comoro", tz);  
     timezones.put("Indian/Mayotte", tz);  
     tz = new SimpleTimeZone(3500 * 3600, "Asia/Tehran");  
     timezones.put("Asia/Tehran", tz);  
     tz = new SimpleTimeZone  
       (4000 * 3600, "Asia/Baku",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 1000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 1000 * 3600);  
     timezones.put("Asia/Baku", tz);  
     tz = new SimpleTimeZone  
       (4000 * 3600, "Asia/Aqtau",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);  
     timezones.put("Asia/Aqtau", tz);  
     timezones.put("Asia/Tbilisi", tz);  
     tz = new SimpleTimeZone  
       (4000 * 3600, "Asia/Yerevan",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Asia/Yerevan", tz);  
     timezones.put("Europe/Samara", tz);  
     tz = new SimpleTimeZone(4000 * 3600, "NET");  
     timezones.put("NET", tz);  
     timezones.put("Asia/Dubai", tz);  
     timezones.put("Asia/Muscat", tz);  
     timezones.put("Indian/Mahe", tz);  
     timezones.put("Indian/Mauritius", tz);  
     timezones.put("Indian/Reunion", tz);  
     tz = new SimpleTimeZone(4500 * 3600, "Asia/Kabul");  
     timezones.put("Asia/Kabul", tz);  
     tz = new SimpleTimeZone  
       (5000 * 3600, "Asia/Aqtobe",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);  
     timezones.put("Asia/Aqtobe", tz);  
     tz = new SimpleTimeZone  
       (5000 * 3600, "Asia/Bishkek",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2500 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2500 * 3600);  
     timezones.put("Asia/Bishkek", tz);  
     tz = new SimpleTimeZone  
       (5000 * 3600, "Asia/Yekaterinburg",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Asia/Yekaterinburg", tz);  
     tz = new SimpleTimeZone(5000 * 3600, "PLT");  
     timezones.put("PLT", tz);  
     timezones.put("Asia/Ashgabat", tz);  
     timezones.put("Asia/Dushanbe", tz);  
     timezones.put("Asia/Karachi", tz);  
     timezones.put("Asia/Samarkand", tz);  
     timezones.put("Asia/Tashkent", tz);  
     timezones.put("Indian/Chagos", tz);  
     timezones.put("Indian/Kerguelen", tz);  
     timezones.put("Indian/Maldives", tz);  
     tz = new SimpleTimeZone(5500 * 3600, "IST");  
     timezones.put("IST", tz);  
     timezones.put("Asia/Calcutta", tz);  
     tz = new SimpleTimeZone(5750 * 3600, "Asia/Katmandu");  
     timezones.put("Asia/Katmandu", tz);  
     tz = new SimpleTimeZone(6000 * 3600, "BST");  
     timezones.put("BST", tz);  
     timezones.put("Antarctica/Mawson", tz);  
     timezones.put("Asia/Colombo", tz);  
     timezones.put("Asia/Dhaka", tz);  
     timezones.put("Asia/Thimphu", tz);  
     tz = new SimpleTimeZone  
       (6000 * 3600, "Asia/Almaty",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);  
     timezones.put("Asia/Almaty", tz);  
     tz = new SimpleTimeZone  
       (6000 * 3600, "Asia/Novosibirsk",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Asia/Novosibirsk", tz);  
     timezones.put("Asia/Omsk", tz);  
     tz = new SimpleTimeZone(6500 * 3600, "Asia/Rangoon");  
     timezones.put("Asia/Rangoon", tz);  
     timezones.put("Indian/Cocos", tz);  
     tz = new SimpleTimeZone(7000 * 3600, "VST");  
     timezones.put("VST", tz);  
     timezones.put("Antarctica/Davis", tz);  
     timezones.put("Asia/Bangkok", tz);  
     timezones.put("Asia/Hovd", tz);  
     timezones.put("Asia/Jakarta", tz);  
     timezones.put("Asia/Phnom_Penh", tz);  
     timezones.put("Asia/Saigon", tz);  
     timezones.put("Asia/Vientiane", tz);  
     timezones.put("Indian/Christmas", tz);  
     tz = new SimpleTimeZone  
       (7000 * 3600, "Asia/Krasnoyarsk",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Asia/Krasnoyarsk", tz);  
     tz = new SimpleTimeZone(8000 * 3600, "CTT");  
     timezones.put("CTT", tz);  
     timezones.put("Antarctica/Casey", tz);  
     timezones.put("Asia/Brunei", tz);  
     timezones.put("Asia/Chungking", tz);  
     timezones.put("Asia/Harbin", tz);  
     timezones.put("Asia/Hong_Kong", tz);  
     timezones.put("Asia/Kashgar", tz);  
     timezones.put("Asia/Kuala_Lumpur", tz);  
     timezones.put("Asia/Kuching", tz);  
     timezones.put("Asia/Macao", tz);  
     timezones.put("Asia/Manila", tz);  
     timezones.put("Asia/Shanghai", tz);  
     timezones.put("Asia/Singapore", tz);  
     timezones.put("Asia/Taipei", tz);  
     timezones.put("Asia/Ujung_Pandang", tz);  
     timezones.put("Asia/Ulaanbaatar", tz);  
     timezones.put("Asia/Urumqi", tz);  
     timezones.put("Australia/Perth", tz);  
     tz = new SimpleTimeZone  
       (8000 * 3600, "Asia/Irkutsk",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Asia/Irkutsk", tz);  
     tz = new SimpleTimeZone(9000 * 3600, "JST");  
     timezones.put("JST", tz);  
     timezones.put("Asia/Dili", tz);  
     timezones.put("Asia/Jayapura", tz);  
     timezones.put("Asia/Pyongyang", tz);  
     timezones.put("Asia/Seoul", tz);  
     timezones.put("Asia/Tokyo", tz);  
     timezones.put("Pacific/Palau", tz);  
     tz = new SimpleTimeZone  
       (9000 * 3600, "Asia/Yakutsk",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Asia/Yakutsk", tz);  
     tz = new SimpleTimeZone  
       (9500 * 3600, "Australia/Adelaide",  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Australia/Adelaide", tz);  
     timezones.put("Australia/Broken_Hill", tz);  
     tz = new SimpleTimeZone(9500 * 3600, "ACT");  
     timezones.put("ACT", tz);  
     timezones.put("Australia/Darwin", tz);  
     tz = new SimpleTimeZone(10000 * 3600, "Antarctica/DumontDUrville");  
     timezones.put("Antarctica/DumontDUrville", tz);  
     timezones.put("Australia/Brisbane", tz);  
     timezones.put("Australia/Lindeman", tz);  
     timezones.put("Pacific/Guam", tz);  
     timezones.put("Pacific/Port_Moresby", tz);  
     timezones.put("Pacific/Saipan", tz);  
     timezones.put("Pacific/Truk", tz);  
     timezones.put("Pacific/Yap", tz);  
     tz = new SimpleTimeZone  
       (10000 * 3600, "Asia/Vladivostok",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Asia/Vladivostok", tz);  
     tz = new SimpleTimeZone  
       (10000 * 3600, "Australia/Hobart",  
        Calendar.OCTOBER, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Australia/Hobart", tz);  
     tz = new SimpleTimeZone  
       (10000 * 3600, "AET",  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("AET", tz);  
     timezones.put("Australia/Melbourne", tz);  
     timezones.put("Australia/Sydney", tz);  
     tz = new SimpleTimeZone  
       (10500 * 3600, "Australia/Lord_Howe",  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600, 500 * 3600);  
     timezones.put("Australia/Lord_Howe", tz);  
     tz = new SimpleTimeZone  
       (11000 * 3600, "Asia/Magadan",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Asia/Magadan", tz);  
     tz = new SimpleTimeZone(11000 * 3600, "SST");  
     timezones.put("SST", tz);  
     timezones.put("Pacific/Efate", tz);  
     timezones.put("Pacific/Guadalcanal", tz);  
     timezones.put("Pacific/Kosrae", tz);  
     timezones.put("Pacific/Noumea", tz);  
     timezones.put("Pacific/Ponape", tz);  
     tz = new SimpleTimeZone(11500 * 3600, "Pacific/Norfolk");  
     timezones.put("Pacific/Norfolk", tz);  
     tz = new SimpleTimeZone  
       (12000 * 3600, "NST",  
        Calendar.OCTOBER, 1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.MARCH, 3, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("NST", tz);  
     timezones.put("Antarctica/McMurdo", tz);  
     timezones.put("Antarctica/South_Pole", tz);  
     timezones.put("Pacific/Auckland", tz);  
     tz = new SimpleTimeZone  
       (12000 * 3600, "Asia/Anadyr",  
        Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,  
        Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);  
     timezones.put("Asia/Anadyr", tz);  
     timezones.put("Asia/Kamchatka", tz);  
     tz = new SimpleTimeZone(12000 * 3600, "Pacific/Fiji");  
     timezones.put("Pacific/Fiji", tz);  
     timezones.put("Pacific/Funafuti", tz);  
     timezones.put("Pacific/Kwajalein", tz);  
     timezones.put("Pacific/Majuro", tz);  
     timezones.put("Pacific/Nauru", tz);  
     timezones.put("Pacific/Tarawa", tz);  
     timezones.put("Pacific/Wake", tz);  
     timezones.put("Pacific/Wallis", tz);  
     tz = new SimpleTimeZone  
       (12750 * 3600, "Pacific/Chatham",  
        Calendar.OCTOBER, 1, Calendar.SUNDAY, 2750 * 3600,  
        Calendar.MARCH, 3, Calendar.SUNDAY, 2750 * 3600);  
     timezones.put("Pacific/Chatham", tz);  
     tz = new SimpleTimeZone(13000 * 3600, "Pacific/Enderbury");  
     timezones.put("Pacific/Enderbury", tz);  
     timezones.put("Pacific/Tongatapu", tz);  
     tz = new SimpleTimeZone(14000 * 3600, "Pacific/Kiritimati");  
     timezones.put("Pacific/Kiritimati", tz);  
   }  
   
   
   /* Look up default timezone */  
   static  
   {  
     if (Configuration.INIT_LOAD_LIBRARY)  
120        {        {
121          System.loadLibrary("javautil");          Hashtable timezones = new Hashtable();
122        }          timezones0 = timezones;
     String tzid = System.getProperty("user.timezone");  
123    
124      if (tzid == null)          TimeZone tz;
125        tzid = getDefaultTimeZoneId();          // Automatically generated by scripts/timezones.pl
126            // XXX - Should we read this data from a file?
127      if (tzid == null)          tz = new SimpleTimeZone(-11000 * 3600, "MIT");
128        tzid = "GMT";          timezones0.put("MIT", tz);
129            timezones0.put("Pacific/Apia", tz);
130      defaultZone = getTimeZone(tzid);          timezones0.put("Pacific/Midway", tz);
131            timezones0.put("Pacific/Niue", tz);
132            timezones0.put("Pacific/Pago_Pago", tz);
133            tz = new SimpleTimeZone
134              (-10000 * 3600, "America/Adak",
135               Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
136               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
137            timezones0.put("America/Adak", tz);
138            tz = new SimpleTimeZone(-10000 * 3600, "HST");
139            timezones0.put("HST", tz);
140            timezones0.put("Pacific/Fakaofo", tz);
141            timezones0.put("Pacific/Honolulu", tz);
142            timezones0.put("Pacific/Johnston", tz);
143            timezones0.put("Pacific/Rarotonga", tz);
144            timezones0.put("Pacific/Tahiti", tz);
145            tz = new SimpleTimeZone(-9500 * 3600, "Pacific/Marquesas");
146            timezones0.put("Pacific/Marquesas", tz);
147            tz = new SimpleTimeZone
148              (-9000 * 3600, "AST",
149               Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
150               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
151            timezones0.put("AST", tz);
152            timezones0.put("America/Anchorage", tz);
153            timezones0.put("America/Juneau", tz);
154            timezones0.put("America/Nome", tz);
155            timezones0.put("America/Yakutat", tz);
156            tz = new SimpleTimeZone(-9000 * 3600, "Pacific/Gambier");
157            timezones0.put("Pacific/Gambier", tz);
158            tz = new SimpleTimeZone
159              (-8000 * 3600, "PST",
160               Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
161               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
162            timezones0.put("PST", tz);
163            timezones0.put("PST8PDT", tz);
164            timezones0.put("America/Dawson", tz);
165            timezones0.put("America/Los_Angeles", tz);
166            timezones0.put("America/Tijuana", tz);
167            timezones0.put("America/Vancouver", tz);
168            timezones0.put("America/Whitehorse", tz);
169            timezones0.put("US/Pacific-New", tz);
170            tz = new SimpleTimeZone(-8000 * 3600, "Pacific/Pitcairn");
171            timezones0.put("Pacific/Pitcairn", tz);
172            tz = new SimpleTimeZone
173              (-7000 * 3600, "MST",
174               Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
175               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
176            timezones0.put("MST", tz);
177            timezones0.put("MST7MDT", tz);
178            timezones0.put("America/Boise", tz);
179            timezones0.put("America/Chihuahua", tz);
180            timezones0.put("America/Denver", tz);
181            timezones0.put("America/Edmonton", tz);
182            timezones0.put("America/Inuvik", tz);
183            timezones0.put("America/Mazatlan", tz);
184            timezones0.put("America/Shiprock", tz);
185            timezones0.put("America/Yellowknife", tz);
186            tz = new SimpleTimeZone(-7000 * 3600, "MST7");
187            timezones0.put("MST7", tz);
188            timezones0.put("PNT", tz);
189            timezones0.put("America/Dawson_Creek", tz);
190            timezones0.put("America/Hermosillo", tz);
191            timezones0.put("America/Phoenix", tz);
192            tz = new SimpleTimeZone
193              (-6000 * 3600, "CST",
194               Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
195               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
196            timezones0.put("CST", tz);
197            timezones0.put("CST6CDT", tz);
198            timezones0.put("America/Cambridge_Bay", tz);
199            timezones0.put("America/Cancun", tz);
200            timezones0.put("America/Chicago", tz);
201            timezones0.put("America/Menominee", tz);
202            timezones0.put("America/Merida", tz);
203            timezones0.put("America/Mexico_City", tz);
204            timezones0.put("America/Monterrey", tz);
205            timezones0.put("America/Rainy_River", tz);
206            timezones0.put("America/Winnipeg", tz);
207            tz = new SimpleTimeZone(-6000 * 3600, "America/Belize");
208            timezones0.put("America/Belize", tz);
209            timezones0.put("America/Costa_Rica", tz);
210            timezones0.put("America/El_Salvador", tz);
211            timezones0.put("America/Guatemala", tz);
212            timezones0.put("America/Managua", tz);
213            timezones0.put("America/Regina", tz);
214            timezones0.put("America/Swift_Current", tz);
215            timezones0.put("America/Tegucigalpa", tz);
216            timezones0.put("Pacific/Galapagos", tz);
217            tz = new SimpleTimeZone
218              (-6000 * 3600, "Pacific/Easter",
219               Calendar.OCTOBER, 9, -Calendar.SUNDAY, 0 * 3600,
220               Calendar.MARCH, 9, -Calendar.SUNDAY, 0 * 3600);
221            timezones0.put("Pacific/Easter", tz);
222            tz = new SimpleTimeZone
223              (-5000 * 3600, "America/Grand_Turk",
224               Calendar.APRIL, 1, Calendar.SUNDAY, 0 * 3600,
225               Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);
226            timezones0.put("America/Grand_Turk", tz);
227            timezones0.put("America/Havana", tz);
228            tz = new SimpleTimeZone(-5000 * 3600, "EST5");
229            timezones0.put("EST5", tz);
230            timezones0.put("IET", tz);
231            timezones0.put("America/Bogota", tz);
232            timezones0.put("America/Cayman", tz);
233            timezones0.put("America/Eirunepe", tz);
234            timezones0.put("America/Guayaquil", tz);
235            timezones0.put("America/Indiana/Indianapolis", tz);
236            timezones0.put("America/Indiana/Knox", tz);
237            timezones0.put("America/Indiana/Marengo", tz);
238            timezones0.put("America/Indiana/Vevay", tz);
239            timezones0.put("America/Indianapolis", tz);
240            timezones0.put("America/Iqaluit", tz);
241            timezones0.put("America/Jamaica", tz);
242            timezones0.put("America/Lima", tz);
243            timezones0.put("America/Panama", tz);
244            timezones0.put("America/Pangnirtung", tz);
245            timezones0.put("America/Port-au-Prince", tz);
246            timezones0.put("America/Porto_Acre", tz);
247            timezones0.put("America/Rankin_Inlet", tz);
248            tz = new SimpleTimeZone
249              (-5000 * 3600, "EST",
250               Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
251               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
252            timezones0.put("EST", tz);
253            timezones0.put("EST5EDT", tz);
254            timezones0.put("America/Detroit", tz);
255            timezones0.put("America/Kentucky/Louisville", tz);
256            timezones0.put("America/Kentucky/Monticello", tz);
257            timezones0.put("America/Louisville", tz);
258            timezones0.put("America/Montreal", tz);
259            timezones0.put("America/Nassau", tz);
260            timezones0.put("America/New_York", tz);
261            timezones0.put("America/Nipigon", tz);
262            timezones0.put("America/Thunder_Bay", tz);
263            tz = new SimpleTimeZone(-4000 * 3600, "PRT");
264            timezones0.put("PRT", tz);
265            timezones0.put("America/Anguilla", tz);
266            timezones0.put("America/Antigua", tz);
267            timezones0.put("America/Aruba", tz);
268            timezones0.put("America/Barbados", tz);
269            timezones0.put("America/Boa_Vista", tz);
270            timezones0.put("America/Caracas", tz);
271            timezones0.put("America/Curacao", tz);
272            timezones0.put("America/Dominica", tz);
273            timezones0.put("America/Grenada", tz);
274            timezones0.put("America/Guadeloupe", tz);
275            timezones0.put("America/Guyana", tz);
276            timezones0.put("America/La_Paz", tz);
277            timezones0.put("America/Manaus", tz);
278            timezones0.put("America/Martinique", tz);
279            timezones0.put("America/Montserrat", tz);
280            timezones0.put("America/Port_of_Spain", tz);
281            timezones0.put("America/Porto_Velho", tz);
282            timezones0.put("America/Puerto_Rico", tz);
283            timezones0.put("America/Santo_Domingo", tz);
284            timezones0.put("America/St_Kitts", tz);
285            timezones0.put("America/St_Lucia", tz);
286            timezones0.put("America/St_Thomas", tz);
287            timezones0.put("America/St_Vincent", tz);
288            timezones0.put("America/Tortola", tz);
289            tz = new SimpleTimeZone
290              (-4000 * 3600, "America/Asuncion",
291               Calendar.OCTOBER, 1, Calendar.SUNDAY, 0 * 3600,
292               Calendar.FEBRUARY, -1, Calendar.SUNDAY, 0 * 3600);
293            timezones0.put("America/Asuncion", tz);
294            tz = new SimpleTimeZone
295              (-4000 * 3600, "America/Cuiaba",
296               Calendar.OCTOBER, 2, Calendar.SUNDAY, 0 * 3600,
297               Calendar.FEBRUARY, 3, Calendar.SUNDAY, 0 * 3600);
298            timezones0.put("America/Cuiaba", tz);
299            tz = new SimpleTimeZone
300              (-4000 * 3600, "America/Goose_Bay",
301               Calendar.APRIL, 1, Calendar.SUNDAY, 60000,
302               Calendar.OCTOBER, -1, Calendar.SUNDAY, 60000);
303            timezones0.put("America/Goose_Bay", tz);
304            tz = new SimpleTimeZone
305              (-4000 * 3600, "America/Glace_Bay",
306               Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
307               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
308            timezones0.put("America/Glace_Bay", tz);
309            timezones0.put("America/Halifax", tz);
310            timezones0.put("America/Thule", tz);
311            timezones0.put("Atlantic/Bermuda", tz);
312            tz = new SimpleTimeZone
313              (-4000 * 3600, "America/Santiago",
314               Calendar.OCTOBER, 9, -Calendar.SUNDAY, 0 * 3600,
315               Calendar.MARCH, 9, -Calendar.SUNDAY, 0 * 3600);
316            timezones0.put("America/Santiago", tz);
317            timezones0.put("Antarctica/Palmer", tz);
318            tz = new SimpleTimeZone
319              (-4000 * 3600, "Atlantic/Stanley",
320               Calendar.SEPTEMBER, 2, Calendar.SUNDAY, 0 * 3600,
321               Calendar.APRIL, 16, -Calendar.SUNDAY, 0 * 3600);
322            timezones0.put("Atlantic/Stanley", tz);
323            tz = new SimpleTimeZone
324              (-3500 * 3600, "CNT",
325               Calendar.APRIL, 1, Calendar.SUNDAY, 60000,
326               Calendar.OCTOBER, -1, Calendar.SUNDAY, 60000);
327            timezones0.put("CNT", tz);
328            timezones0.put("America/St_Johns", tz);
329            tz = new SimpleTimeZone
330              (-3000 * 3600, "America/Araguaina",
331               Calendar.OCTOBER, 2, Calendar.SUNDAY, 0 * 3600,
332               Calendar.FEBRUARY, 3, Calendar.SUNDAY, 0 * 3600);
333            timezones0.put("America/Araguaina", tz);
334            timezones0.put("America/Sao_Paulo", tz);
335            tz = new SimpleTimeZone(-3000 * 3600, "AGT");
336            timezones0.put("AGT", tz);
337            timezones0.put("America/Belem", tz);
338            timezones0.put("America/Buenos_Aires", tz);
339            timezones0.put("America/Catamarca", tz);
340            timezones0.put("America/Cayenne", tz);
341            timezones0.put("America/Cordoba", tz);
342            timezones0.put("America/Fortaleza", tz);
343            timezones0.put("America/Jujuy", tz);
344            timezones0.put("America/Maceio", tz);
345            timezones0.put("America/Mendoza", tz);
346            timezones0.put("America/Montevideo", tz);
347            timezones0.put("America/Paramaribo", tz);
348            timezones0.put("America/Recife", tz);
349            timezones0.put("America/Rosario", tz);
350            tz = new SimpleTimeZone
351              (-3000 * 3600, "America/Godthab",
352               Calendar.MARCH, 30, -Calendar.SATURDAY, 22000 * 3600,
353               Calendar.OCTOBER, 30, -Calendar.SATURDAY, 22000 * 3600);
354            timezones0.put("America/Godthab", tz);
355            tz = new SimpleTimeZone
356              (-3000 * 3600, "America/Miquelon",
357               Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
358               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
359            timezones0.put("America/Miquelon", tz);
360            tz = new SimpleTimeZone(-2000 * 3600, "America/Noronha");
361            timezones0.put("America/Noronha", tz);
362            timezones0.put("Atlantic/South_Georgia", tz);
363            tz = new SimpleTimeZone
364              (-1000 * 3600, "America/Scoresbysund",
365               Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,
366               Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);
367            timezones0.put("America/Scoresbysund", tz);
368            timezones0.put("Atlantic/Azores", tz);
369            tz = new SimpleTimeZone(-1000 * 3600, "Atlantic/Cape_Verde");
370            timezones0.put("Atlantic/Cape_Verde", tz);
371            timezones0.put("Atlantic/Jan_Mayen", tz);
372            tz = new SimpleTimeZone(0 * 3600, "GMT");
373            timezones0.put("GMT", tz);
374            timezones0.put("UTC", tz);
375            timezones0.put("Africa/Abidjan", tz);
376            timezones0.put("Africa/Accra", tz);
377            timezones0.put("Africa/Bamako", tz);
378            timezones0.put("Africa/Banjul", tz);
379            timezones0.put("Africa/Bissau", tz);
380            timezones0.put("Africa/Casablanca", tz);
381            timezones0.put("Africa/Conakry", tz);
382            timezones0.put("Africa/Dakar", tz);
383            timezones0.put("Africa/El_Aaiun", tz);
384            timezones0.put("Africa/Freetown", tz);
385            timezones0.put("Africa/Lome", tz);
386            timezones0.put("Africa/Monrovia", tz);
387            timezones0.put("Africa/Nouakchott", tz);
388            timezones0.put("Africa/Ouagadougou", tz);
389            timezones0.put("Africa/Sao_Tome", tz);
390            timezones0.put("Africa/Timbuktu", tz);
391            timezones0.put("Atlantic/Reykjavik", tz);
392            timezones0.put("Atlantic/St_Helena", tz);
393            timezones0.put("Europe/Belfast", tz);
394            timezones0.put("Europe/Dublin", tz);
395            timezones0.put("Europe/London", tz);
396            tz = new SimpleTimeZone
397              (0 * 3600, "WET",
398               Calendar.MARCH, -1, Calendar.SUNDAY, 1000 * 3600,
399               Calendar.OCTOBER, -1, Calendar.SUNDAY, 1000 * 3600);
400            timezones0.put("WET", tz);
401            timezones0.put("Atlantic/Canary", tz);
402            timezones0.put("Atlantic/Faeroe", tz);
403            timezones0.put("Atlantic/Madeira", tz);
404            timezones0.put("Europe/Lisbon", tz);
405            tz = new SimpleTimeZone(1000 * 3600, "Africa/Algiers");
406            timezones0.put("Africa/Algiers", tz);
407            timezones0.put("Africa/Bangui", tz);
408            timezones0.put("Africa/Brazzaville", tz);
409            timezones0.put("Africa/Douala", tz);
410            timezones0.put("Africa/Kinshasa", tz);
411            timezones0.put("Africa/Lagos", tz);
412            timezones0.put("Africa/Libreville", tz);
413            timezones0.put("Africa/Luanda", tz);
414            timezones0.put("Africa/Malabo", tz);
415            timezones0.put("Africa/Ndjamena", tz);
416            timezones0.put("Africa/Niamey", tz);
417            timezones0.put("Africa/Porto-Novo", tz);
418            timezones0.put("Africa/Tunis", tz);
419            tz = new SimpleTimeZone
420              (1000 * 3600, "Africa/Windhoek",
421               Calendar.SEPTEMBER, 1, Calendar.SUNDAY, 2000 * 3600,
422               Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600);
423            timezones0.put("Africa/Windhoek", tz);
424            tz = new SimpleTimeZone
425              (1000 * 3600, "CET",
426               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
427               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
428            timezones0.put("CET", tz);
429            timezones0.put("ECT", tz);
430            timezones0.put("MET", tz);
431            timezones0.put("Africa/Ceuta", tz);
432            timezones0.put("Arctic/Longyearbyen", tz);
433            timezones0.put("Europe/Amsterdam", tz);
434            timezones0.put("Europe/Andorra", tz);
435            timezones0.put("Europe/Belgrade", tz);
436            timezones0.put("Europe/Berlin", tz);
437            timezones0.put("Europe/Bratislava", tz);
438            timezones0.put("Europe/Brussels", tz);
439            timezones0.put("Europe/Budapest", tz);
440            timezones0.put("Europe/Copenhagen", tz);
441            timezones0.put("Europe/Gibraltar", tz);
442            timezones0.put("Europe/Ljubljana", tz);
443            timezones0.put("Europe/Luxembourg", tz);
444            timezones0.put("Europe/Madrid", tz);
445            timezones0.put("Europe/Malta", tz);
446            timezones0.put("Europe/Monaco", tz);
447            timezones0.put("Europe/Oslo", tz);
448            timezones0.put("Europe/Paris", tz);
449            timezones0.put("Europe/Prague", tz);
450            timezones0.put("Europe/Rome", tz);
451            timezones0.put("Europe/San_Marino", tz);
452            timezones0.put("Europe/Sarajevo", tz);
453            timezones0.put("Europe/Skopje", tz);
454            timezones0.put("Europe/Stockholm", tz);
455            timezones0.put("Europe/Tirane", tz);
456            timezones0.put("Europe/Vaduz", tz);
457            timezones0.put("Europe/Vatican", tz);
458            timezones0.put("Europe/Vienna", tz);
459            timezones0.put("Europe/Warsaw", tz);
460            timezones0.put("Europe/Zagreb", tz);
461            timezones0.put("Europe/Zurich", tz);
462            tz = new SimpleTimeZone
463              (2000 * 3600, "ART",
464               Calendar.APRIL, -1, Calendar.FRIDAY, 0 * 3600,
465               Calendar.SEPTEMBER, -1, Calendar.THURSDAY, 23000 * 3600);
466            timezones0.put("ART", tz);
467            timezones0.put("Africa/Cairo", tz);
468            tz = new SimpleTimeZone(2000 * 3600, "CAT");
469            timezones0.put("CAT", tz);
470            timezones0.put("Africa/Blantyre", tz);
471            timezones0.put("Africa/Bujumbura", tz);
472            timezones0.put("Africa/Gaborone", tz);
473            timezones0.put("Africa/Harare", tz);
474            timezones0.put("Africa/Johannesburg", tz);
475            timezones0.put("Africa/Kigali", tz);
476            timezones0.put("Africa/Lubumbashi", tz);
477            timezones0.put("Africa/Lusaka", tz);
478            timezones0.put("Africa/Maputo", tz);
479            timezones0.put("Africa/Maseru", tz);
480            timezones0.put("Africa/Mbabane", tz);
481            timezones0.put("Africa/Tripoli", tz);
482            timezones0.put("Europe/Riga", tz);
483            timezones0.put("Europe/Tallinn", tz);
484            timezones0.put("Europe/Vilnius", tz);
485            tz = new SimpleTimeZone
486              (2000 * 3600, "Asia/Amman",
487               Calendar.MARCH, -1, Calendar.THURSDAY, 0 * 3600,
488               Calendar.SEPTEMBER, -1, Calendar.THURSDAY, 0 * 3600);
489            timezones0.put("Asia/Amman", tz);
490            tz = new SimpleTimeZone
491              (2000 * 3600, "Asia/Beirut",
492               Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,
493               Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);
494            timezones0.put("Asia/Beirut", tz);
495            tz = new SimpleTimeZone
496              (2000 * 3600, "Asia/Damascus",
497               Calendar.APRIL, 1, 0, 0 * 3600,
498               Calendar.OCTOBER, 1, 0, 0 * 3600);
499            timezones0.put("Asia/Damascus", tz);
500            tz = new SimpleTimeZone
501              (2000 * 3600, "Asia/Gaza",
502               Calendar.APRIL, 3, Calendar.FRIDAY, 0 * 3600,
503               Calendar.OCTOBER, 3, Calendar.FRIDAY, 0 * 3600);
504            timezones0.put("Asia/Gaza", tz);
505            tz = new SimpleTimeZone
506              (2000 * 3600, "Asia/Jerusalem",
507               Calendar.APRIL, 1, 0, 1000 * 3600,
508               Calendar.OCTOBER, 1, 0, 1000 * 3600);
509            timezones0.put("Asia/Jerusalem", tz);
510            tz = new SimpleTimeZone
511              (2000 * 3600, "EET",
512               Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
513               Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
514            timezones0.put("EET", tz);
515            timezones0.put("Asia/Istanbul", tz);
516            timezones0.put("Asia/Nicosia", tz);
517            timezones0.put("Europe/Athens", tz);
518            timezones0.put("Europe/Bucharest", tz);
519            timezones0.put("Europe/Chisinau", tz);
520            timezones0.put("Europe/Helsinki", tz);
521            timezones0.put("Europe/Istanbul", tz);
522            timezones0.put("Europe/Kiev", tz);
523            timezones0.put("Europe/Nicosia", tz);
524            timezones0.put("Europe/Simferopol", tz);
525            timezones0.put("Europe/Sofia", tz);
526            timezones0.put("Europe/Uzhgorod", tz);
527            timezones0.put("Europe/Zaporozhye", tz);
528            tz = new SimpleTimeZone
529              (2000 * 3600, "Europe/Kaliningrad",
530               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
531               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
532            timezones0.put("Europe/Kaliningrad", tz);
533            timezones0.put("Europe/Minsk", tz);
534            tz = new SimpleTimeZone
535              (3000 * 3600, "Asia/Baghdad",
536               Calendar.APRIL, 1, 0, 3000 * 3600,
537               Calendar.OCTOBER, 1, 0, 3000 * 3600);
538            timezones0.put("Asia/Baghdad", tz);
539            tz = new SimpleTimeZone
540              (3000 * 3600, "Europe/Moscow",
541               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
542               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
543            timezones0.put("Europe/Moscow", tz);
544            timezones0.put("Europe/Tiraspol", tz);
545            tz = new SimpleTimeZone(3000 * 3600, "EAT");
546            timezones0.put("EAT", tz);
547            timezones0.put("Africa/Addis_Ababa", tz);
548            timezones0.put("Africa/Asmera", tz);
549            timezones0.put("Africa/Dar_es_Salaam", tz);
550            timezones0.put("Africa/Djibouti", tz);
551            timezones0.put("Africa/Kampala", tz);
552            timezones0.put("Africa/Khartoum", tz);
553            timezones0.put("Africa/Mogadishu", tz);
554            timezones0.put("Africa/Nairobi", tz);
555            timezones0.put("Antarctica/Syowa", tz);
556            timezones0.put("Asia/Aden", tz);
557            timezones0.put("Asia/Bahrain", tz);
558            timezones0.put("Asia/Kuwait", tz);
559            timezones0.put("Asia/Qatar", tz);
560            timezones0.put("Asia/Riyadh", tz);
561            timezones0.put("Indian/Antananarivo", tz);
562            timezones0.put("Indian/Comoro", tz);
563            timezones0.put("Indian/Mayotte", tz);
564            tz = new SimpleTimeZone(3500 * 3600, "Asia/Tehran");
565            timezones0.put("Asia/Tehran", tz);
566            tz = new SimpleTimeZone
567              (4000 * 3600, "Asia/Baku",
568               Calendar.MARCH, -1, Calendar.SUNDAY, 1000 * 3600,
569               Calendar.OCTOBER, -1, Calendar.SUNDAY, 1000 * 3600);
570            timezones0.put("Asia/Baku", tz);
571            tz = new SimpleTimeZone
572              (4000 * 3600, "Asia/Aqtau",
573               Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,
574               Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);
575            timezones0.put("Asia/Aqtau", tz);
576            timezones0.put("Asia/Tbilisi", tz);
577            tz = new SimpleTimeZone
578              (4000 * 3600, "Asia/Yerevan",
579               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
580               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
581            timezones0.put("Asia/Yerevan", tz);
582            timezones0.put("Europe/Samara", tz);
583            tz = new SimpleTimeZone(4000 * 3600, "NET");
584            timezones0.put("NET", tz);
585            timezones0.put("Asia/Dubai", tz);
586            timezones0.put("Asia/Muscat", tz);
587            timezones0.put("Indian/Mahe", tz);
588            timezones0.put("Indian/Mauritius", tz);
589            timezones0.put("Indian/Reunion", tz);
590            tz = new SimpleTimeZone(4500 * 3600, "Asia/Kabul");
591            timezones0.put("Asia/Kabul", tz);
592            tz = new SimpleTimeZone
593              (5000 * 3600, "Asia/Aqtobe",
594               Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,
595               Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);
596            timezones0.put("Asia/Aqtobe", tz);
597            tz = new SimpleTimeZone
598              (5000 * 3600, "Asia/Bishkek",
599               Calendar.MARCH, -1, Calendar.SUNDAY, 2500 * 3600,
600               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2500 * 3600);
601            timezones0.put("Asia/Bishkek", tz);
602            tz = new SimpleTimeZone
603              (5000 * 3600, "Asia/Yekaterinburg",
604               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
605               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
606            timezones0.put("Asia/Yekaterinburg", tz);
607            tz = new SimpleTimeZone(5000 * 3600, "PLT");
608            timezones0.put("PLT", tz);
609            timezones0.put("Asia/Ashgabat", tz);
610            timezones0.put("Asia/Dushanbe", tz);
611            timezones0.put("Asia/Karachi", tz);
612            timezones0.put("Asia/Samarkand", tz);
613            timezones0.put("Asia/Tashkent", tz);
614            timezones0.put("Indian/Chagos", tz);
615            timezones0.put("Indian/Kerguelen", tz);
616            timezones0.put("Indian/Maldives", tz);
617            tz = new SimpleTimeZone(5500 * 3600, "IST");
618            timezones0.put("IST", tz);
619            timezones0.put("Asia/Calcutta", tz);
620            tz = new SimpleTimeZone(5750 * 3600, "Asia/Katmandu");
621            timezones0.put("Asia/Katmandu", tz);
622            tz = new SimpleTimeZone(6000 * 3600, "BST");
623            timezones0.put("BST", tz);
624            timezones0.put("Antarctica/Mawson", tz);
625            timezones0.put("Asia/Colombo", tz);
626            timezones0.put("Asia/Dhaka", tz);
627            timezones0.put("Asia/Thimphu", tz);
628            tz = new SimpleTimeZone
629              (6000 * 3600, "Asia/Almaty",
630               Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,
631               Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);
632            timezones0.put("Asia/Almaty", tz);
633            tz = new SimpleTimeZone
634              (6000 * 3600, "Asia/Novosibirsk",
635               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
636               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
637            timezones0.put("Asia/Novosibirsk", tz);
638            timezones0.put("Asia/Omsk", tz);
639            tz = new SimpleTimeZone(6500 * 3600, "Asia/Rangoon");
640            timezones0.put("Asia/Rangoon", tz);
641            timezones0.put("Indian/Cocos", tz);
642            tz = new SimpleTimeZone(7000 * 3600, "VST");
643            timezones0.put("VST", tz);
644            timezones0.put("Antarctica/Davis", tz);
645            timezones0.put("Asia/Bangkok", tz);
646            timezones0.put("Asia/Hovd", tz);
647            timezones0.put("Asia/Jakarta", tz);
648            timezones0.put("Asia/Phnom_Penh", tz);
649            timezones0.put("Asia/Saigon", tz);
650            timezones0.put("Asia/Vientiane", tz);
651            timezones0.put("Indian/Christmas", tz);
652            tz = new SimpleTimeZone
653              (7000 * 3600, "Asia/Krasnoyarsk",
654               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
655               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
656            timezones0.put("Asia/Krasnoyarsk", tz);
657            tz = new SimpleTimeZone(8000 * 3600, "CTT");
658            timezones0.put("CTT", tz);
659            timezones0.put("Antarctica/Casey", tz);
660            timezones0.put("Asia/Brunei", tz);
661            timezones0.put("Asia/Chungking", tz);
662            timezones0.put("Asia/Harbin", tz);
663            timezones0.put("Asia/Hong_Kong", tz);
664            timezones0.put("Asia/Kashgar", tz);
665            timezones0.put("Asia/Kuala_Lumpur", tz);
666            timezones0.put("Asia/Kuching", tz);
667            timezones0.put("Asia/Macao", tz);
668            timezones0.put("Asia/Manila", tz);
669            timezones0.put("Asia/Shanghai", tz);
670            timezones0.put("Asia/Singapore", tz);
671            timezones0.put("Asia/Taipei", tz);
672            timezones0.put("Asia/Ujung_Pandang", tz);
673            timezones0.put("Asia/Ulaanbaatar", tz);
674            timezones0.put("Asia/Urumqi", tz);
675            timezones0.put("Australia/Perth", tz);
676            tz = new SimpleTimeZone
677              (8000 * 3600, "Asia/Irkutsk",
678               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
679               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
680            timezones0.put("Asia/Irkutsk", tz);
681            tz = new SimpleTimeZone(9000 * 3600, "JST");
682            timezones0.put("JST", tz);
683            timezones0.put("Asia/Dili", tz);
684            timezones0.put("Asia/Jayapura", tz);
685            timezones0.put("Asia/Pyongyang", tz);
686            timezones0.put("Asia/Seoul", tz);
687            timezones0.put("Asia/Tokyo", tz);
688            timezones0.put("Pacific/Palau", tz);
689            tz = new SimpleTimeZone
690              (9000 * 3600, "Asia/Yakutsk",
691               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
692               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
693            timezones0.put("Asia/Yakutsk", tz);
694            tz = new SimpleTimeZone
695              (9500 * 3600, "Australia/Adelaide",
696               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600,
697               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600);
698            timezones0.put("Australia/Adelaide", tz);
699            timezones0.put("Australia/Broken_Hill", tz);
700            tz = new SimpleTimeZone(9500 * 3600, "ACT");
701            timezones0.put("ACT", tz);
702            timezones0.put("Australia/Darwin", tz);
703            tz = new SimpleTimeZone(10000 * 3600, "Antarctica/DumontDUrville");
704            timezones0.put("Antarctica/DumontDUrville", tz);
705            timezones0.put("Australia/Brisbane", tz);
706            timezones0.put("Australia/Lindeman", tz);
707            timezones0.put("Pacific/Guam", tz);
708            timezones0.put("Pacific/Port_Moresby", tz);
709            timezones0.put("Pacific/Saipan", tz);
710            timezones0.put("Pacific/Truk", tz);
711            timezones0.put("Pacific/Yap", tz);
712            tz = new SimpleTimeZone
713              (10000 * 3600, "Asia/Vladivostok",
714               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
715               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
716            timezones0.put("Asia/Vladivostok", tz);
717            tz = new SimpleTimeZone
718              (10000 * 3600, "Australia/Hobart",
719               Calendar.OCTOBER, 1, Calendar.SUNDAY, 2000 * 3600,
720               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600);
721            timezones0.put("Australia/Hobart", tz);
722            tz = new SimpleTimeZone
723              (10000 * 3600, "AET",
724               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600,
725               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600);
726            timezones0.put("AET", tz);
727            timezones0.put("Australia/Melbourne", tz);
728            timezones0.put("Australia/Sydney", tz);
729            tz = new SimpleTimeZone
730              (10500 * 3600, "Australia/Lord_Howe",
731               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600,
732               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600, 500 * 3600);
733            timezones0.put("Australia/Lord_Howe", tz);
734            tz = new SimpleTimeZone
735              (11000 * 3600, "Asia/Magadan",
736               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
737               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
738            timezones0.put("Asia/Magadan", tz);
739            tz = new SimpleTimeZone(11000 * 3600, "SST");
740            timezones0.put("SST", tz);
741            timezones0.put("Pacific/Efate", tz);
742            timezones0.put("Pacific/Guadalcanal", tz);
743            timezones0.put("Pacific/Kosrae", tz);
744            timezones0.put("Pacific/Noumea", tz);
745            timezones0.put("Pacific/Ponape", tz);
746            tz = new SimpleTimeZone(11500 * 3600, "Pacific/Norfolk");
747            timezones0.put("Pacific/Norfolk", tz);
748            tz = new SimpleTimeZone
749              (12000 * 3600, "NST",
750               Calendar.OCTOBER, 1, Calendar.SUNDAY, 2000 * 3600,
751               Calendar.MARCH, 3, Calendar.SUNDAY, 2000 * 3600);
752            timezones0.put("NST", tz);
753            timezones0.put("Antarctica/McMurdo", tz);
754            timezones0.put("Antarctica/South_Pole", tz);
755            timezones0.put("Pacific/Auckland", tz);
756            tz = new SimpleTimeZone
757              (12000 * 3600, "Asia/Anadyr",
758               Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
759               Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
760            timezones0.put("Asia/Anadyr", tz);
761            timezones0.put("Asia/Kamchatka", tz);
762            tz = new SimpleTimeZone(12000 * 3600, "Pacific/Fiji");
763            timezones0.put("Pacific/Fiji", tz);
764            timezones0.put("Pacific/Funafuti", tz);
765            timezones0.put("Pacific/Kwajalein", tz);
766            timezones0.put("Pacific/Majuro", tz);
767            timezones0.put("Pacific/Nauru", tz);
768            timezones0.put("Pacific/Tarawa", tz);
769            timezones0.put("Pacific/Wake", tz);
770            timezones0.put("Pacific/Wallis", tz);
771            tz = new SimpleTimeZone
772              (12750 * 3600, "Pacific/Chatham",
773               Calendar.OCTOBER, 1, Calendar.SUNDAY, 2750 * 3600,
774               Calendar.MARCH, 3, Calendar.SUNDAY, 2750 * 3600);
775            timezones0.put("Pacific/Chatham", tz);
776            tz = new SimpleTimeZone(13000 * 3600, "Pacific/Enderbury");
777            timezones0.put("Pacific/Enderbury", tz);
778            timezones0.put("Pacific/Tongatapu", tz);
779            tz = new SimpleTimeZone(14000 * 3600, "Pacific/Kiritimati");
780            timezones0.put("Pacific/Kiritimati", tz);
781          }
782        return timezones0;
783    }    }
784    
785    
786    /* This method returns us a time zone id string which is in the    /* This method returns us a time zone id string which is in the
787       form <standard zone name><GMT offset><daylight time zone name>.       form <standard zone name><GMT offset><daylight time zone name>.
788       The GMT offset is in seconds, except where it is evenly divisible       The GMT offset is in seconds, except where it is evenly divisible
# Line 986  public abstract class TimeZone implement Line 1000  public abstract class TimeZone implement
1000    public static TimeZone getTimeZone(String ID)    public static TimeZone getTimeZone(String ID)
1001    {    {
1002      // First check timezones hash      // First check timezones hash
1003      TimeZone tz = (TimeZone) timezones.get(ID);      TimeZone tz = (TimeZone) timezones().get(ID);
1004      if (tz != null)      if (tz != null)
1005        {        {
1006          if (tz.getID().equals(ID))          if (tz.getID().equals(ID))
# Line 999  public abstract class TimeZone implement Line 1013  public abstract class TimeZone implement
1013          // We also save the alias, so that we return the same          // We also save the alias, so that we return the same
1014          // object again if getTimeZone is called with the same          // object again if getTimeZone is called with the same
1015          // alias.          // alias.
1016          timezones.put(ID, tz);          timezones().put(ID, tz);
1017          return tz;          return tz;
1018        }        }
1019    
# Line 1074  public abstract class TimeZone implement Line 1088  public abstract class TimeZone implement
1088    public static String[] getAvailableIDs(int rawOffset)    public static String[] getAvailableIDs(int rawOffset)
1089    {    {
1090      int count = 0;      int count = 0;
1091      Iterator iter = timezones.entrySet().iterator();      Iterator iter = timezones().entrySet().iterator();
1092      while (iter.hasNext())      while (iter.hasNext())
1093        {        {
1094          // Don't iterate the values, since we want to count          // Don't iterate the values, since we want to count
# Line 1086  public abstract class TimeZone implement Line 1100  public abstract class TimeZone implement
1100    
1101      String[] ids = new String[count];      String[] ids = new String[count];
1102      count = 0;      count = 0;
1103      iter = timezones.entrySet().iterator();      iter = timezones().entrySet().iterator();
1104      while (iter.hasNext())      while (iter.hasNext())
1105        {        {
1106          Map.Entry entry = (Map.Entry) iter.next();          Map.Entry entry = (Map.Entry) iter.next();
# Line 1103  public abstract class TimeZone implement Line 1117  public abstract class TimeZone implement
1117    public static String[] getAvailableIDs()    public static String[] getAvailableIDs()
1118    {    {
1119      return (String[])      return (String[])
1120        timezones.keySet().toArray(new String[timezones.size()]);        timezones().keySet().toArray(new String[timezones().size()]);
1121    }    }
1122    
1123    /**    /**
# Line 1114  public abstract class TimeZone implement Line 1128  public abstract class TimeZone implement
1128     */     */
1129    public static TimeZone getDefault()    public static TimeZone getDefault()
1130    {    {
1131      return defaultZone;      return defaultZone();
1132    }    }
1133    
1134    public static void setDefault(TimeZone zone)    public static void setDefault(TimeZone zone)
1135    {    {
1136      defaultZone = zone;      defaultZone0 = zone;
1137    }    }
1138    
1139    /**    /**

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26