Serializable
public final class ZoneOffsetTransitionRule extends Object implements Serializable
This class allows rules for identifying future transitions to be expressed. A rule might be written in many forms:
Modifier and Type | Class | Description |
---|---|---|
static enum |
ZoneOffsetTransitionRule.TimeDefinition |
A definition of the way a local time can be converted to the actual transition date-time. |
Modifier and Type | Method | Description |
---|---|---|
ZoneOffsetTransition |
createTransition |
Creates a transition instance for the specified year. |
boolean |
equals |
Checks if this object equals another. |
int |
getDayOfMonthIndicator() |
Gets the indicator of the day-of-month of the transition. |
DayOfWeek |
getDayOfWeek() |
Gets the day-of-week of the transition. |
LocalTime |
getLocalTime() |
Gets the local time of day of the transition which must be checked with isMidnightEndOfDay() . |
Month |
getMonth() |
Gets the month of the transition. |
ZoneOffset |
getOffsetAfter() |
Gets the offset after the transition. |
ZoneOffset |
getOffsetBefore() |
Gets the offset before the transition. |
ZoneOffset |
getStandardOffset() |
Gets the standard offset in force at the transition. |
ZoneOffsetTransitionRule.TimeDefinition |
getTimeDefinition() |
Gets the time definition, specifying how to convert the time to an instant. |
int |
hashCode() |
Returns a suitable hash code. |
boolean |
isMidnightEndOfDay() |
Is the transition local time midnight at the end of day. |
static ZoneOffsetTransitionRule |
of |
Obtains an instance defining the yearly rule to create transitions between two offsets. |
String |
toString() |
Returns a string describing this object. |
public static ZoneOffsetTransitionRule of(Month month, int dayOfMonthIndicator, DayOfWeek dayOfWeek, LocalTime time, boolean timeEndOfDay, ZoneOffsetTransitionRule.TimeDefinition timeDefinition, ZoneOffset standardOffset, ZoneOffset offsetBefore, ZoneOffset offsetAfter)
Applications should normally obtain an instance from ZoneRules
. This factory is only intended for use when creating ZoneRules
.
month
- the month of the month-day of the first day of the cutover week, not nulldayOfMonthIndicator
- the day of the month-day of the cutover week, positive if the week is that day or later, negative if the week is that day or earlier, counting from the last day of the month, from -28 to 31 excluding 0dayOfWeek
- the required day-of-week, null if the month-day should not be changedtime
- the cutover time in the 'before' offset, not nulltimeEndOfDay
- whether the time is midnight at the end of daytimeDefinition
- how to interpret the cutoverstandardOffset
- the standard offset in force at the cutover, not nulloffsetBefore
- the offset before the cutover, not nulloffsetAfter
- the offset after the cutover, not nullIllegalArgumentException
- if the day of month indicator is invalidIllegalArgumentException
- if the end of day flag is true when the time is not midnightIllegalArgumentException
- if time.getNano()
returns non-zero valuepublic Month getMonth()
If the rule defines an exact date then the month is the month of that date.
If the rule defines a week where the transition might occur, then the month if the month of either the earliest or latest possible date of the cutover.
public int getDayOfMonthIndicator()
If the rule defines an exact date then the day is the month of that date.
If the rule defines a week where the transition might occur, then the day defines either the start of the end of the transition week.
If the value is positive, then it represents a normal day-of-month, and is the earliest possible date that the transition can be. The date may refer to 29th February which should be treated as 1st March in non-leap years.
If the value is negative, then it represents the number of days back from the end of the month where -1
is the last day of the month. In this case, the day identified is the latest possible date that the transition can be.
public DayOfWeek getDayOfWeek()
If the rule defines an exact date then this returns null.
If the rule defines a week where the cutover might occur, then this method returns the day-of-week that the month-day will be adjusted to. If the day is positive then the adjustment is later. If the day is negative then the adjustment is earlier.
public LocalTime getLocalTime()
isMidnightEndOfDay()
. The time is converted into an instant using the time definition.
public boolean isMidnightEndOfDay()
The transition may be represented as occurring at 24:00.
public ZoneOffsetTransitionRule.TimeDefinition getTimeDefinition()
The local time can be converted to an instant using the standard offset, the wall offset or UTC.
public ZoneOffset getStandardOffset()
public ZoneOffset getOffsetBefore()
public ZoneOffset getOffsetAfter()
public ZoneOffsetTransition createTransition(int year)
Calculations are performed using the ISO-8601 chronology.
year
- the year to create a transition for, not nullpublic boolean equals(Object otherRule)
The entire state of the object is compared.
public int hashCode()
public String toString()
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/time/zone/ZoneOffsetTransitionRule.html