HijrahChronology zonedDateTime(TemporalAccessor) method in Java with Example

Last Updated : 15 Feb, 2020

The zonedDateTime() method of java.time.chrono.HijrahChronology class is used get the zonal date and time according to Hijrah calendar system from the another TemporalAccessor object .
Syntax: 

public ChronoZonedDateTime zonedDateTime(TemporalAccessor temporal)

Parameter: This method takes the object of any temporal accessor as a parameter.
Return Value: This method returns the zonal date and time according to Hijrah calendar system from another TemporalAccessor object.
Below are the examples to illustrate the zonedDateTime() method:


Example 1: 

Java
// Java program to demonstrate
// zonedDateTime() method

import java.util.*;
import java.io.*;
import java.time.*;
import java.time.chrono.*;

public class GFG {
  public static void main(String[] argv) {
    try {
      // creating and initializing 
      // HijrahDate Object
      HijrahDate hidate
        = HijrahDate.now();

      // getting HijrahChronology
      // used in HijrahDate
      HijrahChronology crono =
        hidate.getChronology();

      // creating and initializing 
      // TemporalAccessor object
      ZonedDateTime zonedate
        = ZonedDateTime
        .parse(
        "2018-10-25T23:12:31."
        + "123+02:00[Europe/Paris]");

      // getting HijrahDate and time for the
      // given TemporalAccessor object
      // by using zonedDateTime() method
      ChronoZonedDateTime<HijrahDate> date 
        = crono.zonedDateTime(zonedate);

      // display the result
      System.out.println("HijrahDate and time is: " 
                         + date);
    } catch (DateTimeException e) {
      System.out.println("passed parameter can"
                         + " not form a date");
      System.out.println("Exception thrown: " + e);
    }
  }
}

Output

HijrahDate and time is: Hijrah-umalqura AH 1440-02-16T23:12:31.123+02:00[Europe/Paris]

Example 2: 

Java
// Java program to demonstrate
// zonedDateTime() method

import java.util.*;
import java.io.*;
import java.time.*;
import java.time.chrono.*;

public class GFG {
  public static void main(String[] argv) {
    try {
      // creating and initializing
      // HijrahDate Object
      HijrahDate hidate = HijrahDate.now();

      // getting HijrahChronology
      // used in HijrahDate
      HijrahChronology crono
        = hidate.getChronology();

      // creating and initializing
      // TemporalAccessor object
      LocalDateTime localdate 
        = LocalDateTime.parse(
        "2018-12-30T19:34:50.63");

      // getting HijrahDate and time for the
      // given TemporalAccessor object
      // by using zonedDateTime() method
      ChronoZonedDateTime<HijrahDate> date 
        = crono.zonedDateTime(localdate);

      // display the result
      System.out.println("HijrahDate and time is: "
                         + date);
    } catch (DateTimeException e) {
      System.out.println("passed parameter can"
                         + " not form a date");
      System.out.println("Exception thrown: " + e);
    }
  }
}

Output:

 

passed parameter can not form a date

Exception thrown: java.time.DateTimeException: Unable to obtain ChronoZonedDateTime from TemporalAccessor: class java.time.LocalDateTime

Reference: https://docs.oracle.com/javase/9/docs/api/java/time/chrono/HijrahChronology.html#zonedDateTime-java.time.temporal.TemporalAccessor-

Comment