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) |
它用于从此偏移量中以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);
}
}
输出:
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);
}
}
输出:
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);
}
}
输出: