Java ZoneId
Java ZoneId类指定时区标识符,并提供在Instant和LocalDateTime之间进行转换的规则。它继承了Object类并实现了Serializable接口。
Java ZoneId类声明
让我们看看java.time.ZoneId类的声明。
public abstract class ZoneId extends Object implements Serializable
Java ZoneId的方法
方法 |
说明 |
String getDisplayName(TextStyle style, Locale locale) |
它用于获取区域的文本表示形式,例如"印度时间"或" +05: 30"。 |
abstract String getId() |
它用于获取唯一的时区ID。 |
static ZoneId of(String zoneId) |
用于从ID获取ZoneId的实例,以确保该ID有效并可供使用。 |
static ZoneId systemDefault() |
它用于获取系统默认时区。 |
boolean equals(Object obj) |
用于检查此时区ID是否等于另一个时区ID。 |
Java ZoneId类示例
import java.time.*;
public class ZoneIdExample1 {
public static void main(String... args) {
ZoneId zoneid1 = ZoneId.of("Asia/Kolkata");
ZoneId zoneid2 = ZoneId.of("Asia/Tokyo");
LocalTime id1 = LocalTime.now(zoneid1);
LocalTime id2 = LocalTime.now(zoneid2);
System.out.println(id1);
System.out.println(id2);
System.out.println(id1.isBefore(id2));
}
}
输出:
14:28:58.230
17:58:58.230
true
Java ZoneId类示例: systemDefault()
import java.time.ZoneId;
public class ZoneIdExample2 {
public static void main(String[] args) {
ZoneId zone = ZoneId.systemDefault();
System.out.println(zone);
}
}
输出:
Java ZoneId类示例: getId()
import java.time.ZoneId;
public class ZoneIdExample3 {
public static void main(String[] args) {
ZoneId z = ZoneId.systemDefault();
String s = z.getId();
System.out.println(s);
}
}
输出:
Java ZoneId类示例: getDisplayName()
import java.util.Locale;
import java.time.ZoneId;
import java.time.format.TextStyle;
public class ZoneIdExample4 {
public static void main(String[] args) {
ZoneId z = ZoneId.systemDefault();
System.out.println(z.getDisplayName(TextStyle.FULL, Locale.ROOT));
}
}
输出: