Java ZonedDateTime ofLocal()方法及示例

Java ZonedDateTime ofLocal()方法及示例

ZonedDateTime 类的 ofLocal() 方法用于从本地日期时间创建一个ZonedDateTime的实例,该实例使用ZonmeId和首选偏移量(如果可能的话),其中所有三个localDateTime、ZoneOffset和ZoneId都作为参数传递。本地日期时间被解析为时间线上的一个瞬间,通过为本地日期时间找到一个由区域ID规则定义的、从UTC/Greenwich的有效偏移量来实现。

语法

public static ZonedDateTime ofLocal(LocalDateTime localDateTime,
                                    ZoneId zone,
                                    ZoneOffset preferredOffset)

参数: 该方法接受三个参数: Instant 是本地日期时间, zone 是时区, ZoneOffset 是时区偏移。

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

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

程序1 :

// 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]

程序2

// 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.time.ZoneOffset, java.time.ZoneId)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程