Java ZoneOffset类

本文概述

  • Java ZoneOffset类声明
  • Java ZoneOffset示例
  • Java ZoneOffset示例:ofHours()
  • Java ZoneOffset示例:ofHoursMinutes()
  • Java ZoneOffset示例:isSupported()
Java ZoneOffset类用于表示相对于UTC时区的固定区域偏移量。它继承了ZoneId类并实现Comparable接口。
ZoneOffset类声明三个常量:
  • MAX:这是支持的最大区域偏移量。
  • MIN:这是支持的最小区域偏移量。
  • UTC:这是UTC的时区偏移常数。
Java ZoneOffset类声明我们来看一下java.time.ZoneOffset类的声明。
public final class ZoneOffset extends ZoneId implements TemporalAccessor, TemporalAdjuster, Comparable< ZoneOffset> , Serializable

Java ZoneOffset的方法
方法 描述
Temporal adjustInto(Temporal temporal) 它用于将指定的时间对象调整为与此对象具有相同的偏移量。
int get(TemporalField field) 它用于从此偏移量中以int形式获取指定字段的值。
boolean isSupported(TemporalField field) 用于检查是否支持指定的字段。
static ZoneOffset of(String offsetId) 它用于使用ID获取ZoneOffset的实例。
static ZoneOffset ofHours(int hours) 它用于使用小时数偏移量获取ZoneOffset的实例。
static ZoneOffset ofHoursMinutes(int hours, int minutes) 使用小时和分钟的偏移量来获取ZoneOffset的实例。
ValueRange range(TemporalField field) 用于获取有效值的范围
Java ZoneOffset示例
import java.time.*; import java.time.temporal.Temporal; public class ZoneOffsetExample1 { public static void main(String[] args) { ZoneOffset zone = ZoneOffset.UTC; Temporal temp = zone.adjustInto(ZonedDateTime.now()); System.out.println(temp); } }

立即测试
输出:
2017-01-29T12:43:00.702+05:30[Asia/Calcutta]

Java ZoneOffset示例:ofHours()
import java.time.ZoneOffset; public class ZoneOffsetExample2 { public static void main(String[] args) { ZoneOffset zone = ZoneOffset.ofHours(5); System.out.println(zone); } }

立即测试
输出:
+05:00

Java ZoneOffset示例:ofHoursMinutes()
import java.time.ZoneOffset; public class ZoneOffsetExample3 { public static void main(String[] args) { ZoneOffset zone = ZoneOffset.ofHoursMinutes(5, 30); System.out.println(zone); } }

立即测试
输出:
+05:30

Java ZoneOffset示例:isSupported()
import java.time.ZoneOffset; import java.time.temporal.ChronoField; public class ZoneOffsetExample4 { public static void main(String[] args) { ZoneOffset zone = ZoneOffset.UTC; boolean b1 = zone.isSupported(ChronoField.OFFSET_SECONDS); System.out.println(b1); boolean b2 = zone.isSupported(ChronoField.SECOND_OF_MINUTE); System.out.println(b2); } }

立即测试
【Java ZoneOffset类】输出:
true false

    推荐阅读