Java中的 ZonedDateTime ofInstant() 方法及示例
在 ZonedDateTime 类中,根据传递给它的参数,有两种类型的 ofInstant() 方法。
ofInstant(Instant 瞬间,ZoneId 区域)
ZonedDateTime类的ofInstant()方法用于从 Instant 创建 ZonedDateTime 的实例,并且 zoneId 作为参数传递给此方法。当您拥有 Instant 对象和 zoneId 并且您想要创建包含这两种方式的 Clock 时,这是非常有用的方法分区日期时间。
句法:
public static ZonedDateTime ofInstant(Instant instant,
ZoneId zone)
参数:此方法接受两个参数Instant是创建日期时间的时刻,它不能为 null 和
zone是时区。
返回值:此方法返回分区的日期时间。
异常:此方法抛出以下异常:
- DateTimeException – 如果结果超出支持的范围。
下面的程序说明了 ofInstant() 方法:
方案一:
// 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]
方案二:
// 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)
ZonedDateTime类的ofInstant()方法用于从结合本地日期时间和偏移量形成的 localDateTime 创建 ZonedDateTime 的实例,其中所有三个 Instant、ZoneOffset 和 ZoneId 作为参数传递。
句法:
public static ZonedDateTime ofInstant(LocalDateTime localDateTime,,
ZoneOffset offset, ZoneId zone)
参数:此方法接受三个参数localDateTime是本地日期时间, ZoneOffset是区域偏移量和zone是时区。
返回值:此方法返回分区的日期时间。
下面的程序说明了 ofInstant() 方法:
方案一:
// 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]
方案二:
// 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 Java , Java Java )
https://docs.oracle.com/javase/10/docs/api/java Java .time.LocalDateTime, Java Java)