Package com.ibm.icu.util
Class AnnualTimeZoneRule
java.lang.Object
com.ibm.icu.util.TimeZoneRule
com.ibm.icu.util.AnnualTimeZoneRule
- All Implemented Interfaces:
Serializable
AnnualTimeZoneRule
is a class used for representing a time zone
rule which takes effect annually. Years used in this class are
all Gregorian calendar years.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The constant representing the maximum year used for designating a rule is permanent. -
Constructor Summary
ConstructorsConstructorDescriptionAnnualTimeZoneRule
(String name, int rawOffset, int dstSavings, DateTimeRule dateTimeRule, int startYear, int endYear) Constructs aAnnualTimeZoneRule
with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment, the annual start time rule and the start/until years. -
Method Summary
Modifier and TypeMethodDescriptionint
Gets the end year when this rule takes effect.getFinalStart
(int prevRawOffset, int prevDSTSavings) Gets the final time when this rule takes effect.getFirstStart
(int prevRawOffset, int prevDSTSavings) Gets the very first time when this rule takes effect.getNextStart
(long base, int prevRawOffset, int prevDSTSavings, boolean inclusive) Gets the first time when this rule takes effect after the specified time.getPreviousStart
(long base, int prevRawOffset, int prevDSTSavings, boolean inclusive) Gets the most recent time when this rule takes effect before the specified time.getRule()
Gets the start date/time rule associated used by this rule.getStartInYear
(int year, int prevRawOffset, int prevDSTSavings) Gets the time when this rule takes effect in the given year.int
Gets the first year when this rule takes effect.boolean
isEquivalentTo
(TimeZoneRule other) Returns if this rule represents the same rule and offsets as another.boolean
Returns if thisTimeZoneRule
has one or more start times.toString()
Returns aString
representation of thisAnnualTimeZoneRule
object.Methods inherited from class com.ibm.icu.util.TimeZoneRule
getDSTSavings, getName, getRawOffset
-
Field Details
-
MAX_YEAR
public static final int MAX_YEARThe constant representing the maximum year used for designating a rule is permanent.- See Also:
-
-
Constructor Details
-
AnnualTimeZoneRule
public AnnualTimeZoneRule(String name, int rawOffset, int dstSavings, DateTimeRule dateTimeRule, int startYear, int endYear) Constructs aAnnualTimeZoneRule
with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment, the annual start time rule and the start/until years.- Parameters:
name
- The time zone name.rawOffset
- The GMT offset of its standard time in milliseconds.dstSavings
- The amount of daylight saving offset adjustment in milliseconds. If this ia a rule for standard time, the value of this argument is 0.dateTimeRule
- The start date/time rule repeated annually.startYear
- The first year when this rule takes effect.endYear
- The last year when this rule takes effect. If this rule is effective forever in future, specify MAX_YEAR.
-
-
Method Details
-
getRule
Gets the start date/time rule associated used by this rule.- Returns:
- An
AnnualDateTimeRule
which represents the start date/time rule used by this time zone rule.
-
getStartYear
public int getStartYear()Gets the first year when this rule takes effect.- Returns:
- The start year of this rule. The year is in Gregorian calendar with 0 == 1 BCE, -1 == 2 BCE, etc.
-
getEndYear
public int getEndYear()Gets the end year when this rule takes effect.- Returns:
- The end year of this rule (inclusive). The year is in Gregorian calendar with 0 == 1 BCE, -1 == 2 BCE, etc.
-
getStartInYear
Gets the time when this rule takes effect in the given year.- Parameters:
year
- The Gregorian year, with 0 == 1 BCE, -1 == 2 BCE, etc.prevRawOffset
- The standard time offset from UTC before this rule takes effect in milliseconds.prevDSTSavings
- The amount of daylight saving offset from the standard time.- Returns:
- The time when this rule takes effect in the year, or null if this rule is not applicable in the year.
-
getFirstStart
Gets the very first time when this rule takes effect.- Specified by:
getFirstStart
in classTimeZoneRule
- Parameters:
prevRawOffset
- The standard time offset from UTC before this rule takes effect in milliseconds.prevDSTSavings
- The amount of daylight saving offset from the standard time.- Returns:
- The very first time when this rule takes effect.
-
getFinalStart
Gets the final time when this rule takes effect.- Specified by:
getFinalStart
in classTimeZoneRule
- Parameters:
prevRawOffset
- The standard time offset from UTC before this rule takes effect in milliseconds.prevDSTSavings
- The amount of daylight saving offset from the standard time.- Returns:
- The very last time when this rule takes effect, or null if this rule is applied for future dates infinitely.
-
getNextStart
Gets the first time when this rule takes effect after the specified time.- Specified by:
getNextStart
in classTimeZoneRule
- Parameters:
base
- The first time after this time is returned.prevRawOffset
- The standard time offset from UTC before this rule takes effect in milliseconds.prevDSTSavings
- The amount of daylight saving offset from the standard time.inclusive
- Whether the base time is inclusive or not.- Returns:
- The first time when this rule takes effect after the specified time, or null when this rule never takes effect after the specified time.
-
getPreviousStart
Gets the most recent time when this rule takes effect before the specified time.- Specified by:
getPreviousStart
in classTimeZoneRule
- Parameters:
base
- The most recent time when this rule takes effect before this time is returned.prevRawOffset
- The standard time offset from UTC before this rule takes effect in milliseconds.prevDSTSavings
- The amount of daylight saving offset from the standard time.inclusive
- Whether the base time is inclusive or not.- Returns:
- The most recent time when this rule takes effect before the specified time, or null when this rule never takes effect before the specified time.
-
isEquivalentTo
Returns if this rule represents the same rule and offsets as another. When twoTimeZoneRule
objects differ only its names, this method returns true.- Overrides:
isEquivalentTo
in classTimeZoneRule
- Parameters:
other
- TheTimeZoneRule
object to be compared with.- Returns:
- true if the other
TimeZoneRule
is the same as this one.
-
isTransitionRule
public boolean isTransitionRule()Returns if thisTimeZoneRule
has one or more start times.
Note: This method inAnnualTimeZoneRule
always returns true.- Specified by:
isTransitionRule
in classTimeZoneRule
- Returns:
- true if this
TimeZoneRule
has one or more start times.
-
toString
Returns aString
representation of thisAnnualTimeZoneRule
object. This method is used for debugging purpose only. The string representation can be changed in future version of ICU without any notice.- Overrides:
toString
in classTimeZoneRule
-