Java ZoneOffset类

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)从该偏移量中获取指定字段的值。
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示例

ZoneOffsetExample.java

import java.time.*;
public class ZoneOffsetExample {
   public static void main(String[] args) {
      ZoneOffset offset = ZoneOffset.of("+05:30");
      LocalDateTime dateTime = LocalDateTime.of(2017, Month.JANUARY, 29, 12, 43);
      OffsetDateTime offsetDateTime = OffsetDateTime.of(dateTime, offset);
      System.out.println(offsetDateTime);
   }
}

输出:

2017-01-29T12:43:00.702+05:30[Asia/Calcutta]

Java ZoneOffset示例:ofHours()

ZoneOffsetExample2.java

import java.time.*;
public class ZoneOffsetExample2 {
   public static void main(String[] args) {
      ZoneOffset offset = ZoneOffset.ofHours(5);
      System.out.println(offset);
   }
}

输出:

+05:00

Java ZoneOffset示例:ofHoursMinutes()

ZoneOffsetExample3.java

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

输出:

+05:30

Java ZoneOffset示例:isSupported()

ZoneOffsetExample4.java

import java.time.*;
public class ZoneOffsetExample4 {
   public static void main(String[] args) {
      ZoneOffset offset = ZoneOffset.of("+05:30");
      System.out.println(offset.isSupported(ChronoField.SECONDS));
      System.out.println(offset.isSupported(ChronoField.DAY_OF_MONTH));
   }
}

输出:

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想