mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-21 22:14:15 +08:00
121 lines
2.6 KiB
Java
121 lines
2.6 KiB
Java
|
/* Copyright (C) 1998, 1999 Cygnus Solutions
|
||
|
|
||
|
This file is part of libgcj.
|
||
|
|
||
|
This software is copyrighted work licensed under the terms of the
|
||
|
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||
|
details. */
|
||
|
|
||
|
package java.util;
|
||
|
|
||
|
/**
|
||
|
* @author Per Bothner <bothner@cygnus.com>
|
||
|
* @date October 24, 1998.
|
||
|
*/
|
||
|
|
||
|
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
|
||
|
* Status: getAvailableIDs, getDefault, getTimeZone only know about GMT.
|
||
|
*/
|
||
|
|
||
|
public abstract class TimeZone implements java.io.Serializable, Cloneable
|
||
|
{
|
||
|
public static final int SHORT = 0;
|
||
|
public static final int LONG = 1;
|
||
|
|
||
|
// The fields are as specified in Sun's "Serialized Form"
|
||
|
// in the JDK 1.2 beta 4 API specification.
|
||
|
String ID;
|
||
|
|
||
|
static final TimeZone zoneGMT = new SimpleTimeZone(0, "GMT");
|
||
|
|
||
|
private static TimeZone zoneDefault;
|
||
|
|
||
|
public TimeZone ()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public abstract int getOffset (int era, int year, int month,
|
||
|
int day, int dayOfWeek, int milliseconds);
|
||
|
|
||
|
public abstract void setRawOffset (int offsetMillis);
|
||
|
|
||
|
public abstract int getRawOffset ();
|
||
|
|
||
|
public String getID () { return ID; }
|
||
|
|
||
|
public void setID (String ID) { this.ID = ID; }
|
||
|
|
||
|
public final String getDisplayName()
|
||
|
{
|
||
|
return ID; // FIXME
|
||
|
}
|
||
|
|
||
|
// public final String getDisplayName (Local locale) { ... } FIXME
|
||
|
|
||
|
public final String getDisplayName (boolean daylight, int style)
|
||
|
{
|
||
|
return ID; // FIXME
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
public final String getDisplayName (boolean daylight, int style, Locale locale)
|
||
|
{
|
||
|
return ID; // FIXME
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
public abstract boolean useDaylightTime();
|
||
|
|
||
|
public abstract boolean inDaylightTime (Date date);
|
||
|
|
||
|
public static TimeZone getTimeZone (String ID)
|
||
|
{
|
||
|
return zoneGMT; // FIXME
|
||
|
}
|
||
|
|
||
|
public static String[] getAvailableIDs()
|
||
|
{ // FIXME - only knows about GMT
|
||
|
String[] zones = new String[1];
|
||
|
zones[0] = "GMT";
|
||
|
return zones;
|
||
|
}
|
||
|
|
||
|
public static String[] getAvailableIDs(int rawOffset)
|
||
|
{
|
||
|
return rawOffset == 0 ? getAvailableIDs() : new String[0]; // FIXME
|
||
|
}
|
||
|
|
||
|
private static synchronized TimeZone setDefault()
|
||
|
{
|
||
|
if (zoneDefault == null)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
String id = System.getProperty("user.timezone");
|
||
|
if (id != null && ! id.equals("GMT"))
|
||
|
zoneDefault = getTimeZone(id);
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
}
|
||
|
if (zoneDefault == null)
|
||
|
zoneDefault = zoneGMT;
|
||
|
}
|
||
|
return zoneDefault;
|
||
|
}
|
||
|
|
||
|
public static TimeZone getDefault()
|
||
|
{
|
||
|
return zoneDefault == null ? setDefault() : zoneDefault;
|
||
|
}
|
||
|
|
||
|
public static void setDefault (TimeZone zone) { zoneDefault = zone; }
|
||
|
|
||
|
public boolean hasSameRules (TimeZone other)
|
||
|
{
|
||
|
return this == other;
|
||
|
}
|
||
|
|
||
|
// public Object clone ();
|
||
|
}
|