Java教程-Java ZoneOffset类

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));
}
}
输出: