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:
OlsonTimeZone,RuleBasedTimeZone,SimpleTimeZone,VTimeZone
public abstract class BasicTimeZone extends TimeZone
BasicTimeZone extendsTimeZonewith additional methods to access time zone transitions and rules. All ICUTimeZoneconcrete subclasses extend this class. APIs added tojava.util.TimeZonebyBasicTimeZoneare 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 intFORMER_LATTER_MASKDeprecated.This API is ICU internal only.static intLOCAL_DSTDeprecated.This API is ICU internal only.static intLOCAL_FORMERDeprecated.This API is ICU internal only.static intLOCAL_LATTERDeprecated.This API is ICU internal only.static intLOCAL_STDDeprecated.This API is ICU internal only.protected static intSTD_DST_MASKDeprecated.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 protectedBasicTimeZone()Protected no arg constructor.protectedBasicTimeZone(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 TimeZoneTransitiongetNextTransition(long base, boolean inclusive)Returns the first time zone transition after the base time.voidgetOffsetFromLocal(long date, int nonExistingTimeOpt, int duplicatedTimeOpt, int[] offsets)Deprecated.This API is ICU internal only.abstract TimeZoneTransitiongetPreviousTransition(long base, boolean inclusive)Returns the last time zone transition before the base time.TimeZoneRule[]getSimpleTimeZoneRulesNear(long date)Returns the array ofTimeZoneRulewhich represents the rule of this time zone object near the specified date.abstract TimeZoneRule[]getTimeZoneRules()Returns the array ofTimeZoneRulewhich represents the rule of this time zone object.TimeZoneRule[]getTimeZoneRules(long start)Returns the array ofTimeZoneRulewhich represents the rule of this time zone object since the specified start time.booleanhasEquivalentTransitions(TimeZone tz, long start, long end)Checks if the time zone has equivalent transitions in the time range.booleanhasEquivalentTransitions(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, 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
Dateholding 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
Dateholding 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 ofTimeZonestart- 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 ofTimeZonestart- 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 ofTimeZoneRulewhich represents the rule of this time zone object. The first element in the result array will be theInitialTimeZoneRuleinstance for the initial rule. The rest will be eitherAnnualTimeZoneRuleorTimeArrayTimeZoneRuleinstances representing transitions.- Returns:
- The array of
TimeZoneRulewhich represents this time zone.
-
getTimeZoneRules
public TimeZoneRule[] getTimeZoneRules(long start)
Returns the array ofTimeZoneRulewhich represents the rule of this time zone object since the specified start time. The first element in the result array will be theInitialTimeZoneRuleinstance for the initial rule. The rest will be eitherAnnualTimeZoneRuleorTimeArrayTimeZoneRuleinstances representing transitions.Example code:{@.jcite com.ibm.icu.samples.util.timezone.BasicTimeZoneExample:---getTimeZoneRulesExample}
- Parameters:
start- The start time (inclusive).- Returns:
- The array of
TimeZoneRulewhich represents this time zone since the start time.
-
getSimpleTimeZoneRulesNear
public TimeZoneRule[] getSimpleTimeZoneRulesNear(long date)
Returns the array ofTimeZoneRulewhich 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 singleInitialTimeZoneRuleif this time zone does not have any daylight saving time within 1 year from the specified time, or a pair ofAnnualTimeZoneRulewhose rule type isDateTimeRule.DOWfor date andDateTimeRule.WALL_TIMEfor time with a singleInitialTimeZoneRulerepresenting 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 forTimeZoneRuleextraction.- Returns:
- The array of
TimeZoneRule, either a singleInitialTimeZoneRuleobject, or a pair ofAnnualTimeZoneRulewith 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.
-
-