HOWTO · Java
Java 中的 CET 时间
在本教程中,我们将使用 Java 讨论 CET 时区
本页内容
在整个世界上,有 190 多个国家/地区,每个国家/地区都遵循特定的时区。这些时区充当规则,对于方便有效地表达时间至关重要。但是,由于夏令时等某些变量,这些时区可能会变得不明确。
Java 为我们提供了多个处理时区的类。随着新版本的 Java 的出现,它提出了更广泛和有用的类,例如 ZoneId 和 ZoneOffset。
随着 JSR-310 的出现,添加了一些新的、更有效率的 API 来管理时间和时区。ZoneId 就是这样一个添加的类。它是时区的表示,例如 Europe/Berlin。
大多数固定偏移量由 ZoneOffset 表示。我们可以通过在任何 ZoneId 上调用 normalized() 来确保固定偏移 ID 将表示为 ZoneOffset。
CET 的 IANA 定义表示它遵循中欧的时区规则,其中包括夏季和冬季时间。
应该理解时区标识符和该标识符的短名称是两个不同的元素。名称可能会在 CET 和 CEST 之间变化,但标识符始终固定为 CET。
我们可以使用 getRules() 函数获取与 CET 时区相关的功能。它可以传达给定时间的偏移量。
请参考以下代码。
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
ZoneId zone = ZoneId.of("CET");
System.out.println("Zone Name: " + zone);
System.out.println("Offset " + zone.getRules());
}
}
输出:
Zone Name: CET
Offset ZoneRules[currentStandardOffset=+01:00]
其他方法可能是使用 ZoneOffset.ofHours(1) 而不是使用 ZoneId.of("CET")。我们可以使用 getTransitions() 和 getTransitionRules() 获得总的转换和转换规则。