Java教程

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

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

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));
    }
}
输出:
India Time
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4