java.time.zone.ZoneOffsetTransition Class in Java

A transition between two offsets is normally the result of a daylight savings cutover and the discontinuity is normally a gap in spring and an overlap in autumn and this, in turn, is caused by a discontinuity in the local timeline.Â
ZoneOffsetTransition’s function is to model the transition between these two offsets.
Note: The class is immutable and thread-safe
Methods:
|
Methods |
Description |
|---|---|
|
createTransition(int year) |
This method creates a transition instance for the specified year. |
|
of(LocalDateTime transition, ZoneOffset offsetBefore, ZoneOffset offsetAfter) |
This is a static method used to retrieve the object of the transmission between the before and after offsets |
|
equals() |
This method is used to compare two ZoneOffsetTransition objects. |
|
compareTo() |
This method is used to compare two ZoneOffsetTransition objects |
|
hashCode() |
This method is used to retrieve the hash code of the current ZoneOffsetTransition object. |
|
 getDateTimeAfter() |
This method returns a LocalDateTime object with the after offset applied. |
|
getDateTimeBefore() |
This method returns a LocalDateTime object with the before offset applied. |
|
getDuration() |
This method returns the duration object of the transition. |
|
getInstant() |
This method returns an Instant object of the first instant when the afteroffset is applied. |
|
 getOffsetAfter() |
This method returns the ZoneOffset object after the transition. |
|
getOffsetBefore() |
This method returns the ZoneOffset object after the transition. |
|
 isGap() |
This method returns whether the current transition represents a gap in the local time-line. |
|
 isOverlap() |
This method returns whether the current transition represents an overlap in the local time-line. |
|
 isValidOffset(ZoneOffset zoneOffset) |
This method checks whether the ZoneOffset object passed is a valid one or not. i.e returns true If the ZoneOffset object is valid at atleast one point. The ZoneOffset object passed will be a valid one if an overlap exists at either the before offset or after the offset. |
|
toEpochSecond() |
This method returns the transition instant as an epoch second(long value) |
|
toString() |
This method returns a String object describing the current ZoneOffsetTransition object. |
Below is the Java implementation of the ZoneOffsetTransition Class:
Java
import java.io.*;import java.time.*;import java.time.chrono.*;import java.time.zone.*;import java.util.*;  public class GeeksForGeeks {    public static void main(String args[])    {          int year1 = 1996, year2 = 2001;          // creating the offsets        ZoneOffset ofSet1 = ZoneOffset.ofTotalSeconds(5);        ZoneOffset ofSet2 = ZoneOffset.ofTotalSeconds(2);          // creating two transition zones        ZoneOffsetTransition z1 = ZoneOffsetTransition.of(            LocalDateTime.of(year1, 11, 24, 03, 24, 48, 0),            ofSet1, ofSet2);        ZoneOffsetTransition z2 = ZoneOffsetTransition.of(            LocalDateTime.of(year2, 10, 30, 01, 21, 52, 0),            ofSet1, ofSet2);          // checking for equality of        // the two transistion zones.        boolean ans = z1.equals(z2);        if (ans)            System.out.println(                "The transition zones match!");        else            System.out.println(                "Sorry, the transition zones do not match!");          // using the getOffsetAfter to find the        // offsetAfter of a transition zone        ZoneOffset zone = z1.getOffsetAfter();        System.out.println(            "The offsetAfter of the first transition zone is"            + zone);    }} |
Sorry, the transition zones do not match! The offsetAfter of the first transition zone is+00:00:02



