public abstract class TTimeZone extends Object implements Serializable, Cloneable
TimeZone
represents a time zone offset, taking into account
daylight savings.
Typically, you get a TimeZone
using getDefault
which creates a TimeZone
based on the time zone where the
program is running. For example, for a program running in Japan,
getDefault
creates a TimeZone
object based on
Japanese Standard Time.
You can also get a TimeZone
using getTimeZone
along with a time zone ID. For instance, the time zone ID for the U.S.
Pacific Time zone is "America/Los_Angeles". So, you can get a U.S. Pacific
Time TimeZone
object with the following:
You can use theTimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
getAvailableIDs
method to iterate
through all the supported time zone IDs. You can then choose a supported ID
to get a TimeZone
. If the time zone you want is not
represented by one of the supported IDs, then you can create a custom time
zone ID with the following syntax: For example, you might specify GMT+14:00 as a custom time zone ID. TheGMT[+|-]hh[[:]mm]
TimeZone
that is returned when you specify a custom
time zone ID does not include daylight savings time.
For compatibility with JDK 1.1.x, some other three-letter time zone IDs (such as "PST", "CTT", "AST") are also supported. However, their use is deprecated because the same abbreviation is often used for multiple time zones (for example, "CST" could be U.S. "Central Standard Time" and "China Standard Time"), and the Java platform can then only recognize one of them.
Please note the type returned by factory methods, i.e. getDefault()
and getTimeZone(String)
, is implementation dependent, so it may
introduce serialization incompatibility issues between different
implementations.
Modifier and Type | Field and Description |
---|---|
static int |
LONG
The LONG display name style.
|
static int |
SHORT
The SHORT display name style.
|
Constructor and Description |
---|
TTimeZone()
Constructs a new instance of this class.
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
Returns a new
TimeZone with the same ID, rawOffset and daylight savings
time rules as this TimeZone . |
boolean |
equals(Object obj) |
static String[] |
getAvailableIDs()
Gets the available time zone IDs.
|
static String[] |
getAvailableIDs(int offset)
Gets the available time zone IDs which match the specified offset from
GMT.
|
static TTimeZone |
getDefault()
Gets the default time zone.
|
String |
getDisplayName()
Gets the LONG name for this
TimeZone for the default Locale in standard
time. |
String |
getDisplayName(boolean daylightTime,
int style)
Gets the specified style of name (
LONG or SHORT ) for this TimeZone for
the default Locale in either standard or daylight time as specified. |
String |
getDisplayName(boolean daylightTime,
int style,
TLocale locale)
Gets the specified style of name (
LONG or SHORT ) for this TimeZone for
the specified Locale in either standard or daylight time as specified. |
String |
getDisplayName(TLocale locale)
Gets the LONG name for this
TimeZone for the specified Locale in standard
time. |
int |
getDSTSavings()
Gets the daylight savings offset in milliseconds for this
TimeZone . |
String |
getID()
Gets the ID of this
TimeZone . |
abstract int |
getOffset(int era,
int year,
int month,
int day,
int dayOfWeek,
int time)
Gets the offset from GMT of this
TimeZone for the specified date and
time. |
int |
getOffset(long time)
Gets the offset from GMT of this
TimeZone for the specified date. |
abstract int |
getRawOffset()
Gets the offset for standard time from GMT for this
TimeZone . |
static TTimeZone |
getTimeZone(String name)
Gets the
TimeZone with the specified ID. |
int |
hashCode() |
boolean |
hasSameRules(TTimeZone zone)
Returns whether the specified
TimeZone has the same raw offset as this
TimeZone . |
abstract boolean |
inDaylightTime(TDate time)
Returns whether the specified
Date is in the daylight savings time period for
this TimeZone . |
static void |
setDefault(TTimeZone timezone)
Sets the default time zone.
|
void |
setID(String name)
Sets the ID of this
TimeZone . |
abstract void |
setRawOffset(int offset)
Sets the offset for standard time from GMT for this
TimeZone . |
abstract boolean |
useDaylightTime()
Returns whether this
TimeZone has a daylight savings time period. |
public static final int SHORT
public static final int LONG
public Object clone()
TimeZone
with the same ID, rawOffset
and daylight savings
time rules as this TimeZone
.public static String[] getAvailableIDs()
get()
to create the corresponding TimeZone
instance.public static String[] getAvailableIDs(int offset)
get()
to create the corresponding
TimeZone
instance.offset
- the offset from GMT in milliseconds.public static TTimeZone getDefault()
public final String getDisplayName()
TimeZone
for the default Locale
in standard
time. If the name is not available, the result is in the format
GMT[+-]hh:mm
.TimeZone
name.public final String getDisplayName(TLocale locale)
TimeZone
for the specified Locale
in standard
time. If the name is not available, the result is in the format
GMT[+-]hh:mm
.locale
- the Locale
.TimeZone
name.public final String getDisplayName(boolean daylightTime, int style)
LONG
or SHORT
) for this TimeZone
for
the default Locale
in either standard or daylight time as specified. If
the name is not available, the result is in the format GMT[+-]hh:mm
.daylightTime
- true
for daylight time, false
for standard
time.style
- either LONG
or SHORT
.TimeZone
name.public String getDisplayName(boolean daylightTime, int style, TLocale locale)
LONG
or SHORT
) for this TimeZone
for
the specified Locale
in either standard or daylight time as specified. If
the name is not available, the result is in the format GMT[+-]hh:mm
.daylightTime
- true
for daylight time, false
for standard
time.style
- either LONG or SHORT.locale
- either LONG
or SHORT
.TimeZone
name.public String getID()
TimeZone
.public int getDSTSavings()
TimeZone
.
This implementation returns 3600000 (1 hour), or 0 if the time zone does not observe daylight savings.
Subclasses may override to return daylight savings values other than 1 hour.
TimeZone
observes daylight savings, zero otherwise.public int getOffset(long time)
TimeZone
for the specified date. The
offset includes daylight savings time if the specified date is within the
daylight savings time period.time
- the date in milliseconds since January 1, 1970 00:00:00 GMTpublic abstract int getOffset(int era, int year, int month, int day, int dayOfWeek, int time)
TimeZone
for the specified date and
time. The offset includes daylight savings time if the specified date and
time are within the daylight savings time period.era
- the GregorianCalendar
era, either GregorianCalendar.BC
or
GregorianCalendar.AD
.year
- the year.month
- the Calendar
month.day
- the day of the month.dayOfWeek
- the Calendar
day of the week.time
- the time of day in milliseconds.public abstract int getRawOffset()
TimeZone
.public static TTimeZone getTimeZone(String name)
TimeZone
with the specified ID.name
- a time zone string ID.TimeZone
with the specified ID or null if no TimeZone
with
the specified ID exists.public boolean hasSameRules(TTimeZone zone)
TimeZone
has the same raw offset as this
TimeZone
.zone
- a TimeZone
.true
when the TimeZone
have the same raw offset, false
otherwise.public abstract boolean inDaylightTime(TDate time)
Date
is in the daylight savings time period for
this TimeZone
.time
- a Date
.true
when the Date
is in the daylight savings time period, false
otherwise.public static void setDefault(TTimeZone timezone)
null
, then the next
time getDefault()
is called, the default time zone will be
determined. This behavior is slightly different than the canonical
description of this method, but it follows the spirit of it.timezone
- a TimeZone
object.public void setID(String name)
TimeZone
.name
- a string which is the time zone ID.public abstract void setRawOffset(int offset)
TimeZone
.offset
- the offset from GMT in milliseconds.public abstract boolean useDaylightTime()
TimeZone
has a daylight savings time period.true
if this TimeZone
has a daylight savings time period, false
otherwise.Copyright © 2019. All rights reserved.