📜  Java中的 OffsetTime of(LocalTime) 方法及示例(1)

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

Java中的 OffsetTime of(LocalTime) 方法及示例

在 Java 中,OffsetTime 类可以表示一个带有时区偏移量的时间。可以使用 of() 方法来创建 OffsetTime 对象。其中,of() 方法中参数可以是 LocalTime 类型,表示时区偏移量为 0。

方法签名
public static OffsetTime of(LocalTime time, ZoneOffset offset)
参数说明
  • time:LocalTime 对象,表示时间部分。
  • offset:ZoneOffset 对象,表示时区偏移量。
示例
import java.time.LocalTime;
import java.time.OffsetTime;
import java.time.ZoneOffset;

public class OffsetTimeExample {
    public static void main(String[] args) {
        // 通过 LocalTime 创建 OffsetTime,时区偏移量为默认值:+08:00
        LocalTime localTime = LocalTime.of(12, 30, 0);
        OffsetTime offsetTime1 = OffsetTime.of(localTime, ZoneOffset.of("+08:00"));
        System.out.println(offsetTime1); // 输出:"12:30+08:00"

        // 通过 LocalTime 创建 OffsetTime,时区偏移量为UTC
        OffsetTime offsetTime2 = OffsetTime.of(localTime, ZoneOffset.UTC);
        System.out.println(offsetTime2); // 输出:"04:30Z"
    }
}

以上代码创建了两个 OffsetTime 对象,分别表示 12:30:00 和 UTC 时间下的 04:30:00。其中,第一个创建的 OffsetTime 对象的时区偏移量为默认的 +08:00,第二个创建的 OffsetTime 对象的时区偏移量为 UTC。

需要注意的是,使用 of() 方法创建 OffsetTime 对象时需要传入 LocalTime 和 ZoneOffset 两个参数。如果仅需要表示时区偏移量为 0 的时间,可以直接使用 LocalTime 对象来创建 OffsetTime,如下所示:

import java.time.LocalTime;
import java.time.OffsetTime;

public class OffsetTimeExample {
    public static void main(String[] args) {
        // 直接使用 LocalTime 创建 OffsetTime,时区偏移量为 0
        LocalTime localTime = LocalTime.of(12, 30, 0);
        OffsetTime offsetTime = OffsetTime.of(localTime);
        System.out.println(offsetTime); // 输出:"12:30Z"
    }
}

以上代码创建了一个 OffsetTime 对象,表示 12:30:00,并且时区偏移量为 0。由于时区偏移量为 0,输出结果中显示的是 “Z” 表示 UTC 时间。