Open In App

Instant atZone() method in Java with Examples

Last Updated : 19 Aug, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

The atZone(ZoneId zone) method of Instant class is used to combine this instant with a time-zone whose ZoneId is given as parameter to create an ZonedDateTime object. This method takes ZoneId as a parameter and combines the time-zone with this instant after operation returns a ZonedDateTime object. If the instant is too large to fit into a zoned date-time then this method will throw an exception. This method is same as ZonedDateTime.ofInstant(this, zone).

Syntax:

public ZonedDateTime atZone(ZoneId zone)

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

Return Value: This method returns a ZonedDateTime which is the combination of current zone of Instant and the zone passed as the parameter.

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

Below programs illustrate the Instant.atZone() method:

Program 1:




// Java program to demonstrate
// Instant.atZone() 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 ZoneId object
        ZoneId zone = ZoneId.of("Europe/Paris");
  
        // apply atZone method of Instant class
        ZonedDateTime result = instant.atZone(zone);
  
        // print results
        System.out.println("ZonedDateTime: "
                           + result);
    }
}


Output:

Instant: 2018-10-20T16:55:30Z
ZonedDateTime: 2018-10-20T18:55:30+02:00[Europe/Paris]

Program 2:




// Java program to demonstrate
// Instant.atZone() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an instance object
        Instant instant
            = Instant.parse("2018-11-18T06:55:30.00Z");
  
        // print Instant Value
        System.out.println("Instant: "
                           + instant);
  
        // create ZoneId object
        ZoneId zone = ZoneId.of("Asia/Aden");
  
        // apply atZone method
        ZonedDateTime result
            = instant.atZone(zone);
  
        // print results
        System.out.println("ZonedDateTime: "
                           + result);
    }
}


Output:

Instant: 2018-11-18T06:55:30Z
ZonedDateTime: 2018-11-18T09:55:30+03:00[Asia/Aden]

Program 3:




// Java program to demonstrate
// Instant.atZone() 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 ZoneId object
        ZoneId zone = ZoneId.of("Pacific/Midway");
  
        // apply atZone method
        ZonedDateTime result
            = instant.atZone(zone);
  
        // print results
        System.out.println("ZonedDateTime: "
                           + result);
    }
}


Output:

Instant: 2018-11-22T08:11:48.029Z
ZonedDateTime: 2018-11-21T21:11:48.029-11:00[Pacific/Midway]

References: https://docs.oracle.com/javase/10/docs/api/java/time/Instant.html#atZone(java.time.ZoneId)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads