Instant atOffset() method in Java with Examples

The atOffset(ZoneOffset offset) method of Instant class is used to combine this instant with an offset to create an OffsetDateTime object. This method takes ZoneOffset as a parameter to return an OffsetDateTime object and this OffsetDataTime object is formed from this instant at the specified offset from UTC/Greenwich. If the instant is too large to fit into an offset date-time then the method will throw an exception. This method is same as OffsetDateTime.ofInstant(this, offset).

Syntax:

public OffsetDateTime atOffset(ZoneOffset offset)

Parameters:
This method accepts one parameter offset which is the ZoneOffset to combine with this instant object. It should not be null

Return Value: This method returns the offset date-time formed from this instant and the specified ZoneOffset.

Exception: This method throws DateTimeException if the instant is too large to fit into an offset date-time.

Below programs illustrate the Instant.atOffset() method:
Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// Instant.atOffset() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an instance object
        Instant instant
            = Instant.parse("2018-10-20T16:55:30.00Z");
  
        // print Instant Value
        System.out.println("Instant: "
                           + instant);
  
        // create a ZoneOffset object
        // with 7200 sec means 2 hours
        ZoneOffset offset = ZoneOffset.ofTotalSeconds(7200);
  
        // apply atOffset method to combine ZoneOffset
        // to this instant
        OffsetDateTime offsetDate = instant.atOffset(offset);
  
        // print results
        System.out.println("Offset Date and Time: "
                           + offsetDate);
    }
}

chevron_right


Output:

Instant: 2018-10-20T16:55:30Z
Offset Date and Time: 2018-10-20T18:55:30+02:00

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// Instant.atOffset() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an instance object
        Instant instant
            = Instant.parse("2018-10-20T16:55:30.00Z");
  
        // print Instant Value
        System.out.println("Instant: "
                           + instant);
  
        // create a ZoneOffset object
        // with 3 hours 45 minutes
        ZoneOffset offset
            = ZoneOffset.ofHoursMinutes(3, 45);
  
        // apply atOffset method to combine ZoneOffset
        // to this instant
        OffsetDateTime offsetDate
            = instant.atOffset(offset);
  
        // print results
        System.out.println("Offset Date and Time: "
                           + offsetDate);
    }
}

chevron_right


Output:

Instant: 2018-10-20T16:55:30Z
Offset Date and Time: 2018-10-20T20:40:30+03:45

Program 3:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// Instant.atOffset() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an instance object
        Instant instant
            = Instant.now();
  
        // print Instant Value
        System.out.println("Instant: "
                           + instant);
  
        // create a ZoneOffset Object
        // with 9 hours 45 minutes 30 second
        ZoneOffset offset
            = ZoneOffset
                  .ofHoursMinutesSeconds(9, 45, 30);
  
        // apply atOffset method to
        // combine ZoneOffset to this instant
        OffsetDateTime offsetDate
            = instant.atOffset(offset);
  
        // print results
        System.out.println("Offset Date and Time: "
                           + offsetDate);
    }
}

chevron_right


Output:

Instant: 2018-11-22T08:22:19.846Z
Offset Date and Time: 2018-11-22T18:07:49.846+09:45:30

Reference: https://docs.oracle.com/javase/10/docs/api/java/time/Instant.html#atOffset(java.time.ZoneOffset)



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.