Package com.ibm.icu.util
Class BasicTimeZone
- java.lang.Object
-
- com.ibm.icu.util.TimeZone
-
- com.ibm.icu.util.BasicTimeZone
-
- All Implemented Interfaces:
Freezable<TimeZone>
,Serializable
,Cloneable
- Direct Known Subclasses:
RuleBasedTimeZone
,SimpleTimeZone
,VTimeZone
public abstract class BasicTimeZone extends TimeZone
BasicTimeZone extendsTimeZone
with additional methods to access time zone transitions and rules. All ICUTimeZone
concrete subclasses extend this class. APIs added tojava.util.TimeZone
byBasicTimeZone
are annotated with '[icu]'.- See Also:
TimeZoneRule
,TimeZoneTransition
, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.ibm.icu.util.TimeZone
TimeZone.SystemTimeZoneType
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
FORMER_LATTER_MASK
Deprecated.This API is ICU internal only.static int
LOCAL_DST
Deprecated.This API is ICU internal only.static int
LOCAL_FORMER
Deprecated.This API is ICU internal only.static int
LOCAL_LATTER
Deprecated.This API is ICU internal only.static int
LOCAL_STD
Deprecated.This API is ICU internal only.protected static int
STD_DST_MASK
Deprecated.This API is ICU internal only.-
Fields inherited from class com.ibm.icu.util.TimeZone
GENERIC_LOCATION, GMT_ZONE, LONG, LONG_GENERIC, LONG_GMT, SHORT, SHORT_COMMONLY_USED, SHORT_GENERIC, SHORT_GMT, TIMEZONE_ICU, TIMEZONE_JDK, UNKNOWN_ZONE, UNKNOWN_ZONE_ID
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
BasicTimeZone()
Protected no arg constructor.protected
BasicTimeZone(String ID)
Deprecated.This API is ICU internal only.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description abstract TimeZoneTransition
getNextTransition(long base, boolean inclusive)
Returns the first time zone transition after the base time.void
getOffsetFromLocal(long date, int nonExistingTimeOpt, int duplicatedTimeOpt, int[] offsets)
Deprecated.This API is ICU internal only.abstract TimeZoneTransition
getPreviousTransition(long base, boolean inclusive)
Returns the last time zone transition before the base time.TimeZoneRule[]
getSimpleTimeZoneRulesNear(long date)
Returns the array ofTimeZoneRule
which represents the rule of this time zone object near the specified date.abstract TimeZoneRule[]
getTimeZoneRules()
Returns the array ofTimeZoneRule
which represents the rule of this time zone object.TimeZoneRule[]
getTimeZoneRules(long start)
Returns the array ofTimeZoneRule
which represents the rule of this time zone object since the specified start time.boolean
hasEquivalentTransitions(TimeZone tz, long start, long end)
Checks if the time zone has equivalent transitions in the time range.boolean
hasEquivalentTransitions(TimeZone tz, long start, long end, boolean ignoreDstAmount)
Checks if the time zone has equivalent transitions in the time range.-
Methods inherited from class com.ibm.icu.util.TimeZone
clone, cloneAsThawed, countEquivalentIDs, equals, freeze, getAvailableIDs, getAvailableIDs, getAvailableIDs, getAvailableIDs, getCanonicalID, getCanonicalID, getDefault, getDefaultTimeZoneType, getDisplayName, getDisplayName, getDisplayName, getDisplayName, getDisplayName, getDisplayName, getDSTSavings, getEquivalentID, getFrozenTimeZone, getID, getIDForWindowsID, getOffset, getOffset, getOffset, getRawOffset, getRegion, getTimeZone, getTimeZone, getTZDataVersion, getWindowsID, hashCode, hasSameRules, inDaylightTime, isFrozen, observesDaylightTime, setDefault, setDefaultTimeZoneType, setICUDefault, setID, setRawOffset, useDaylightTime
-
-
-
-
Field Detail
-
LOCAL_STD
@Deprecated public static final int LOCAL_STD
Deprecated.This API is ICU internal only.The time type option for standard time used bygetOffsetFromLocal(long, int, int, int[])
- See Also:
- Constant Field Values
-
LOCAL_DST
@Deprecated public static final int LOCAL_DST
Deprecated.This API is ICU internal only.The time type option for daylight saving time used bygetOffsetFromLocal(long, int, int, int[])
- See Also:
- Constant Field Values
-
LOCAL_FORMER
@Deprecated public static final int LOCAL_FORMER
Deprecated.This API is ICU internal only.The option designate former time to be used bygetOffsetFromLocal(long, int, int, int[])
- See Also:
- Constant Field Values
-
LOCAL_LATTER
@Deprecated public static final int LOCAL_LATTER
Deprecated.This API is ICU internal only.The option designate latter time to be used bygetOffsetFromLocal(long, int, int, int[])
- See Also:
- Constant Field Values
-
STD_DST_MASK
@Deprecated protected static final int STD_DST_MASK
Deprecated.This API is ICU internal only.The bit mask for the time type option used bygetOffsetFromLocal(long, int, int, int[])
- See Also:
- Constant Field Values
-
FORMER_LATTER_MASK
@Deprecated protected static final int FORMER_LATTER_MASK
Deprecated.This API is ICU internal only.The bit mask for the former/latter option used bygetOffsetFromLocal(long, int, int, int[])
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BasicTimeZone
protected BasicTimeZone()
Protected no arg constructor.
-
BasicTimeZone
@Deprecated protected BasicTimeZone(String ID)
Deprecated.This API is ICU internal only.Constructing a BasicTimeZone with the given time zone ID.- Parameters:
ID
- the time zone ID.
-
-
Method Detail
-
getNextTransition
public abstract TimeZoneTransition getNextTransition(long base, boolean inclusive)
Returns the first time zone transition after the base time.Example code:{@.jcite com.ibm.icu.samples.util.timezone.BasicTimeZoneExample:---getNextTransitionExample}
- Parameters:
base
- The base time.inclusive
- Whether the base time is inclusive or not.- Returns:
- A
Date
holding the first time zone transition time after the given base time, or null if no time zone transitions are available after the base time.
-
getPreviousTransition
public abstract TimeZoneTransition getPreviousTransition(long base, boolean inclusive)
Returns the last time zone transition before the base time.Example code:{@.jcite com.ibm.icu.samples.util.timezone.BasicTimeZoneExample:---getPreviousTransitionExample}
- Parameters:
base
- The base time.inclusive
- Whether the base time is inclusive or not.- Returns:
- A
Date
holding the last time zone transition time before the given base time, or null if no time zone transitions are available before the base time.
-
hasEquivalentTransitions
public boolean hasEquivalentTransitions(TimeZone tz, long start, long end)
Checks if the time zone has equivalent transitions in the time range. This method returns true when all of transition times, from/to standard offsets and DST savings used by this time zone match the other in the time range.Example code:{@.jcite com.ibm.icu.samples.util.timezone.BasicTimeZoneExample:---hasEquivalentTransitionsExample}
- Parameters:
tz
- The instance ofTimeZone
start
- The start time of the evaluated time range (inclusive)end
- The end time of the evaluated time range (inclusive)- Returns:
- true if the other time zone has the equivalent transitions in the
time range. When tz is not a
BasicTimeZone
, this method returns false.
-
hasEquivalentTransitions
public boolean hasEquivalentTransitions(TimeZone tz, long start, long end, boolean ignoreDstAmount)
Checks if the time zone has equivalent transitions in the time range. This method returns true when all of transition times, from/to standard offsets and DST savings used by this time zone match the other in the time range.- Parameters:
tz
- The instance ofTimeZone
start
- The start time of the evaluated time range (inclusive)end
- The end time of the evaluated time range (inclusive)ignoreDstAmount
- When true, any transitions with only daylight saving amount changes will be ignored, except either of them is zero. For example, a transition from rawoffset 3:00/dstsavings 1:00 to rawoffset 2:00/dstsavings 2:00 is excluded from the comparison, but a transtion from rawoffset 2:00/dstsavings 1:00 to rawoffset 3:00/dstsavings 0:00 is included.- Returns:
- true if the other time zone has the equivalent transitions in the
time range. When tz is not a
BasicTimeZone
, this method returns false.
-
getTimeZoneRules
public abstract TimeZoneRule[] getTimeZoneRules()
Returns the array ofTimeZoneRule
which represents the rule of this time zone object. The first element in the result array will be theInitialTimeZoneRule
instance for the initial rule. The rest will be eitherAnnualTimeZoneRule
orTimeArrayTimeZoneRule
instances representing transitions.- Returns:
- The array of
TimeZoneRule
which represents this time zone.
-
getTimeZoneRules
public TimeZoneRule[] getTimeZoneRules(long start)
Returns the array ofTimeZoneRule
which represents the rule of this time zone object since the specified start time. The first element in the result array will be theInitialTimeZoneRule
instance for the initial rule. The rest will be eitherAnnualTimeZoneRule
orTimeArrayTimeZoneRule
instances representing transitions.Example code:{@.jcite com.ibm.icu.samples.util.timezone.BasicTimeZoneExample:---getTimeZoneRulesExample}
- Parameters:
start
- The start time (inclusive).- Returns:
- The array of
TimeZoneRule
which represents this time zone since the start time.
-
getSimpleTimeZoneRulesNear
public TimeZoneRule[] getSimpleTimeZoneRulesNear(long date)
Returns the array ofTimeZoneRule
which represents the rule of this time zone object near the specified date. Some applications are not capable to handle historic time zone rule changes. Also some applications can only handle certain type of rule definitions. This method returns either a singleInitialTimeZoneRule
if this time zone does not have any daylight saving time within 1 year from the specified time, or a pair ofAnnualTimeZoneRule
whose rule type isDateTimeRule.DOW
for date andDateTimeRule.WALL_TIME
for time with a singleInitialTimeZoneRule
representing the initial time, when this time zone observes daylight saving time near the specified date. Thus, the result may be only valid for dates around the specified date.- Parameters:
date
- The date to be used forTimeZoneRule
extraction.- Returns:
- The array of
TimeZoneRule
, either a singleInitialTimeZoneRule
object, or a pair ofAnnualTimeZoneRule
with a singleInitialTimeZoneRule
. The first element in the array is always aInitialTimeZoneRule
.
-
getOffsetFromLocal
@Deprecated public void getOffsetFromLocal(long date, int nonExistingTimeOpt, int duplicatedTimeOpt, int[] offsets)
Deprecated.This API is ICU internal only.Returns time zone offsets from local wall time.
-
-