📌  相关文章
📜  Java中的 IsoChronology zonedDateTime(TemporalAccessor) 方法与示例

📅  最后修改于: 2022-05-13 01:54:45.493000             🧑  作者: Mango

Java中的 IsoChronology zonedDateTime(TemporalAccessor) 方法与示例

Java.time.chrono.IsoChronology 类zonedDateTime()方法用于根据 Iso 日历系统从另一个 TemporalAccessor 对象获取分区日期和时间。

句法:

public ZonedDateTime zonedDateTime(
          TemporalAccessor temporal)

参数:此方法将任何时间访问器的对象作为参数。

返回值:此方法根据 Iso 日历系统从另一个 TemporalAccessor 对象返回区域日期和时间。

下面是说明zonedDateTime()方法的示例:

示例 1:

// 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
            // LocalDate Object
            LocalDate hidate
                = LocalDate.now();
  
            // getting IsoChronology
            // used in LocalDate
            IsoChronology crono
                = hidate.getChronology();
  
            // creating and initializing
            // TemporalAccessor object
            ZonedDateTime zonedate
                = ZonedDateTime
                      .parse(
                          "2018-10-25T23:12:31."
                          + "123+02:00[Europe/Paris]");
  
            // getting LocalDate and time for the
            // given TemporalAccessor object
            // by using zonedDateTime() method
            ChronoZonedDateTime date
                = crono.zonedDateTime(zonedate);
  
            // display the result
            System.out.println(
                "LocalDate and time is: "
                + date);
        }
        catch (DateTimeException e) {
            System.out.println(
                "passed parameter can"
                + " not form a date");
            System.out.println(
                "Exception thrown: " + e);
        }
    }
}
输出:
LocalDate and time is: 2018-10-25T23:12:31.123+02:00[Europe/Paris]

示例 2:

// 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
            // LocalDate Object
            LocalDate hidate
                = LocalDate.now();
  
            // getting IsoChronology
            // used in LocalDate
            IsoChronology crono
                = hidate.getChronology();
  
            // creating and initializing
            // TemporalAccessor object
            LocalDateTime localdate
                = LocalDateTime.parse(
                    "2018-12-30T19:34:50.63");
  
            // getting LocalDate and time for the
            // given TemporalAccessor object
            // by using zonedDateTime() method
            ChronoZonedDateTime date
                = crono.zonedDateTime(localdate);
  
            // display the result
            System.out.println(
                "LocalDate and time is: "
                + date);
        }
        catch (DateTimeException e) {
            System.out.println(
                "passed parameter can"
                + " not form a date");
            System.out.println(
                "Exception thrown: " + e);
        }
    }
}
输出:
passed parameter can not form a date
Exception thrown: java.time.DateTimeException: Unable to obtain ZonedDateTime from TemporalAccessor: 2018-12-30T19:34:50.630 of type java.time.LocalDateTime

参考: https://docs.oracle.com/javase/9/docs/api/ Java/time/chrono/IsoChronology.html#zonedDateTime-java.time.temporal.TemporalAccessor-