本文概述
- 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);
}
}
立即测试
输出:
true
false
评论前必须登录!
注册