📌  相关文章
📜  Java中 ZonedDateTime ofLocal() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:16:19.315000             🧑  作者: Mango

Java中 ZonedDateTime ofLocal() 方法及示例

介绍

在Java 8中添加了一个新的日期时间API,称为java.time,它提供了一组强大的日期时间类以及处理日期时间的方法。其中一个类是ZonedDateTime,它提供了一种时区感知的日期时间表示。

ZonedDateTime类有一个ofLocal()方法,该方法返回当前本地时间的ZonedDateTime对象。它需要传入LocalDateTime参数,表示当前本地时间。

语法

下面是ofLocal()方法的基本语法:

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

ofLocal()方法的参数列表如下:

  • localDateTime - 表示当前本地时间的LocalDateTime对象。
  • zone - 表示当前时区的ZoneId对象。
  • preferredOffset - 表示优选时区偏移量的ZoneOffset对象。
返回值

该方法返回一个ZonedDateTime对象,表示在指定的时区中表示当前时间的日期时间。

示例

下面是一个简单的示例,演示了如何使用ofLocal()方法获取当前本地时间的ZonedDateTime对象:

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;

public class ZonedDateTimeExample {

    public static void main(String[] args) {

        // 获取当前本地时间
        LocalDateTime localDateTime = LocalDateTime.now();

        // 获取当前时区
        ZoneId zone = ZoneId.systemDefault();

        // 获取当前本地时间的ZonedDateTime对象
        ZonedDateTime zonedDateTime = ZonedDateTime.ofLocal(localDateTime, zone, null);

        // 输出ZonedDateTime对象
        System.out.println(zonedDateTime);
    }
}

输出:

2021-08-30T14:39:48.944236+08:00[Asia/Shanghai]

在上面的示例中,我们首先通过LocalDateTime.now()方法获取当前本地时间。然后,我们获取当前时区的ZoneId对象,并使用ofLocal()方法创建一个ZonedDateTime对象,该对象表示当前时间在指定的时区中的日期时间。最后,我们输出这个ZonedDateTime对象。