Java中 ZonedDateTime ofLocal() 方法及示例
ZonedDateTime类的ofLocal()方法,用于使用 ZonmeId 和首选偏移量从本地日期时间创建 ZonedDateTime 的实例,其中所有三个 localDateTime、ZoneOffset 和 ZoneId 作为参数传递。本地日期时间被解析为通过查找区域 ID 规则定义的本地日期时间与 UTC/格林威治的有效偏移量来实现时间线上的单个瞬间。
句法:
public static ZonedDateTime ofLocal(LocalDateTime localDateTime,
ZoneId zone,
ZoneOffset preferredOffset)
参数:此方法接受三个参数Instant是本地日期时间, zone是时区和ZoneOffset是区域偏移量。
返回值:此方法返回分区的日期时间。
下面的程序说明了 ofLocal() 方法:
方案一:
// Java program to demonstrate
// ZonedDateTime.ofLocal() 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 ofLocal method
// of ZonedDateTime class
ZonedDateTime zt
= ZonedDateTime
.ofLocal(lt, zone, zoneOffset);
// print the result
System.out.println("ZonedDateTime is "
+ zt);
}
}
输出:
ZonedDateTime is 2019-01-29T23:55:59+01:00[Europe/Paris]
方案二:
// Java program to demonstrate
// ZonedDateTime.ofLocal() 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 ofLocal method
// of ZonedDateTime class
ZonedDateTime zt
= ZonedDateTime
.ofLocal(lt, zone, zoneOffset);
// print the result
System.out.println("ZonedDateTime is "
+ zt);
}
}
输出:
ZonedDateTime is 2019-01-29T23:55: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)