Java ZonedDateTime ofInstant()方法及示例

Java ZonedDateTime ofInstant()方法及示例

在ZonedDateTime类中,有两种类型的ofInstant()方法,取决于传递给它的参数。

ofInstant(Instant instant, ZoneId zone)

ZonedDateTime 类的 ofInstant() 方法用于从作为参数传递给该方法的Instant和zoneId中创建一个ZonedDateTime的实例。当你有一个Instant对象和zoneId,并且你想创建一个包含两者的ZonedDateTime的时钟时,这个方法非常有用。

语法

public static ZonedDateTime ofInstant(Instant instant,
                                      ZoneId zone)

参数: 该方法接受两个参数 Instant ,它是创建日期时间的瞬间,不能为空;

zone ,它是时间区。

返回值: 该方法返回分区的日期时间。

异常: 该方法会抛出以下异常。

  • DateTimeException – 如果结果超过了支持的范围。

以下程序说明了ofInstant()方法:

程序1 :

// Java program to demonstrate
// ZonedDateTime.ofInstant() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create Instant object
        Instant lt
            = Instant
                  .parse("2018-10-20T16:55:30.00Z");
  
        // create a ZonID
        ZoneId zone = ZoneId.of("Europe/Paris");
  
        // apply ofInstant method
        // of ZonedDateTime class
        ZonedDateTime zt = ZonedDateTime
                               .ofInstant(lt, zone);
  
        // print the result
        System.out.println("ZonedDateTime is "
                           + zt);
    }
}

输出。

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

程序2

// Java program to demonstrate
// ZonedDateTime.ofInstant() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create Instant object
        Instant lt
            = Instant
                  .parse("2019-01-29T23:55:59.00Z");
  
        // create a ZonID
        ZoneId zone
            = ZoneId.of("Australia/Darwin");
  
        // apply ofInstant method
        // of ZonedDateTime class
        ZonedDateTime zt
            = ZonedDateTime
                  .ofInstant(lt, zone);
  
        // print the result
        System.out.println("ZonedDateTime is "
                           + zt);
    }
}

输出。

ZonedDateTime is 2019-01-30T09:25:59+09:30[Australia/Darwin]

ofInstant(LocalDateTime localDateTime,, ZoneOffset offset, ZoneId zone)

ofInstant() 方法是 ZonedDateTime 类的一个方法,用于从本地日期时间中创建一个ZonedDateTime的实例,该方法由本地日期时间和偏移量组合而成,所有三个Instant、ZoneOffset和ZoneId都作为参数传递。
语法

public static ZonedDateTime ofInstant(LocalDateTime localDateTime,, 
                                ZoneOffset offset, ZoneId zone)

参数: 该方法接受三个参数 localDateTime (本地日期时间)、 ZoneOffset (区域偏移)和 zone (时区)。

返回值: 该方法返回分区的日期时间。

以下程序说明了ofInstant()方法:

程序1 :

// Java program to demonstrate
// ZonedDateTime.ofInstant() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create localDateTime object
        LocalDateTime lt
            = LocalDateTime
                  .parse("2019-01-29T23:55:59.00");
  
        // create ZoneOffset
        ZoneOffset zoneOffset
            = ZoneOffset.ofHours(11);
  
        // create a ZonID
        ZoneId zone
            = ZoneId.of("Europe/Paris");
  
        // apply ofInstant method
        // of ZonedDateTime class
        ZonedDateTime zt
            = ZonedDateTime
                  .ofInstant(lt, zoneOffset, zone);
  
        // print the result
        System.out.println("ZonedDateTime is "
                           + zt);
    }
}

输出。

ZonedDateTime is 2019-01-29T13:55:59+01:00[Europe/Paris]

程序2

// Java program to demonstrate
// ZonedDateTime.ofInstant() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create localDateTime object
        LocalDateTime lt
            = LocalDateTime
                  .parse("2019-01-29T23:55:59.00");
  
        // create ZoneOffset
        ZoneOffset zoneOffset
            = ZoneOffset.ofHours(10);
  
        // create a ZonID
        ZoneId zone
            = ZoneId.of("Australia/Darwin");
  
        // apply ofInstant method
        // of ZonedDateTime class
        ZonedDateTime zt
            = ZonedDateTime
                  .ofInstant(lt, zoneOffset, zone);
  
        // print the result
        System.out.println("ZonedDateTime is "
                           + zt);
    }
}

输出。

ZonedDateTime is 2019-01-29T23:25:59+09:30[Australia/Darwin]

参考文献:
https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#ofInstant(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneId)
https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#ofInstant(java.time.LocalDateTime, java.time.ZoneId)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程