- All Implemented Interfaces:
 Serializable,Comparable<ZoneOffsetTransition>
 A transition between two offsets is normally the result of a daylight savings cutover.
 The discontinuity is normally a gap in spring and an overlap in autumn.
 ZoneOffsetTransition models the transition between the two offsets.
 
 Gaps occur where there are local date-times that simply do not exist.
 An example would be when the offset changes from +03:00 to +04:00.
 This might be described as 'the clocks will move forward one hour tonight at 1am'.
 
 Overlaps occur where there are local date-times that exist twice.
 An example would be when the offset changes from +04:00 to +03:00.
 This might be described as 'the clocks will move back one hour tonight at 2am'.
- Implementation Requirements:
 - This class is immutable and thread-safe.
 - Since:
 - 1.8
 - See Also:
 
- 
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(ZoneOffsetTransition otherTransition) Compares this transition to another based on the transition instant.booleanChecks if this object equals another.Gets the local transition date-time, as would be expressed with the 'after' offset.Gets the local transition date-time, as would be expressed with the 'before' offset.Gets the duration of the transition.Gets the transition instant.Gets the offset after the transition.Gets the offset before the transition.inthashCode()Returns a suitable hash code.booleanisGap()Does this transition represent a gap in the local time-line.booleanDoes this transition represent an overlap in the local time-line.booleanisValidOffset(ZoneOffset offset) Checks if the specified offset is valid during this transition.static ZoneOffsetTransitionof(LocalDateTime transition, ZoneOffset offsetBefore, ZoneOffset offsetAfter) Obtains an instance defining a transition between two offsets.longGets the transition instant as an epoch second.toString()Returns a string describing this object. 
- 
Method Details
- 
of
public static ZoneOffsetTransition of(LocalDateTime transition, ZoneOffset offsetBefore, ZoneOffset offsetAfter) Obtains an instance defining a transition between two offsets.Applications should normally obtain an instance from
ZoneRules. This factory is only intended for use when creatingZoneRules.- Parameters:
 transition- the transition date-time at the transition, which never actually occurs, expressed local to the before offset, not nulloffsetBefore- the offset before the transition, not nulloffsetAfter- the offset at and after the transition, not null- Returns:
 - the transition, not null
 - Throws:
 IllegalArgumentException- ifoffsetBeforeandoffsetAfterare equal, ortransition.getNano()returns non-zero value
 - 
getInstant
Gets the transition instant.This is the instant of the discontinuity, which is defined as the first instant that the 'after' offset applies.
The methods
getInstant(),getDateTimeBefore()andgetDateTimeAfter()all represent the same instant.- Returns:
 - the transition instant, not null
 
 - 
toEpochSecond
public long toEpochSecond()Gets the transition instant as an epoch second.- Returns:
 - the transition epoch second
 
 - 
getDateTimeBefore
Gets the local transition date-time, as would be expressed with the 'before' offset.This is the date-time where the discontinuity begins expressed with the 'before' offset. At this instant, the 'after' offset is actually used, therefore the combination of this date-time and the 'before' offset will never occur.
The combination of the 'before' date-time and offset represents the same instant as the 'after' date-time and offset.
- Returns:
 - the transition date-time expressed with the before offset, not null
 
 - 
getDateTimeAfter
Gets the local transition date-time, as would be expressed with the 'after' offset.This is the first date-time after the discontinuity, when the new offset applies.
The combination of the 'before' date-time and offset represents the same instant as the 'after' date-time and offset.
- Returns:
 - the transition date-time expressed with the after offset, not null
 
 - 
getOffsetBefore
Gets the offset before the transition.This is the offset in use before the instant of the transition.
- Returns:
 - the offset before the transition, not null
 
 - 
getOffsetAfter
Gets the offset after the transition.This is the offset in use on and after the instant of the transition.
- Returns:
 - the offset after the transition, not null
 
 - 
getDuration
Gets the duration of the transition.In most cases, the transition duration is one hour, however this is not always the case. The duration will be positive for a gap and negative for an overlap. Time-zones are second-based, so the nanosecond part of the duration will be zero.
- Returns:
 - the duration of the transition, positive for gaps, negative for overlaps
 
 - 
isGap
public boolean isGap()Does this transition represent a gap in the local time-line.Gaps occur where there are local date-times that simply do not exist. An example would be when the offset changes from
+01:00to+02:00. This might be described as 'the clocks will move forward one hour tonight at 1am'.- Returns:
 - true if this transition is a gap, false if it is an overlap
 
 - 
isOverlap
public boolean isOverlap()Does this transition represent an overlap in the local time-line.Overlaps occur where there are local date-times that exist twice. An example would be when the offset changes from
+02:00to+01:00. This might be described as 'the clocks will move back one hour tonight at 2am'.- Returns:
 - true if this transition is an overlap, false if it is a gap
 
 - 
isValidOffset
Checks if the specified offset is valid during this transition.This checks to see if the given offset will be valid at some point in the transition. A gap will always return false. An overlap will return true if the offset is either the before or after offset.
- Parameters:
 offset- the offset to check, null returns false- Returns:
 - true if the offset is valid during the transition
 
 - 
compareTo
Compares this transition to another based on the transition instant.This compares the instants of each transition. The offsets are ignored, making this order inconsistent with equals.
- Specified by:
 compareToin interfaceComparable<ZoneOffsetTransition>- Parameters:
 otherTransition- the transition to compare to, not null- Returns:
 - the comparator value, that is the comparison of this transition instant
          with 
otherTransitioninstant 
 - 
equals
Checks if this object equals another.The entire state of the object is compared.
 - 
hashCode
public int hashCode()Returns a suitable hash code. - 
toString
Returns a string describing this object. 
 -