介绍
Java 的 LocalDate
类是在 Java 8 中引入的,用于表示不带时区的日期。它提供了多种方法来对日期对象执行操作,例如添加或减去天、月和年。其中一个有用的方法是 now(ZoneId)
方法,它根据指定的时区返回当前日期。
Java 的 LocalDate
类是在 Java 8 中引入的,用于表示不带时区的日期。它提供了多种方法来对日期对象执行操作,例如添加或减去天、月和年。其中一个有用的方法是 now(ZoneId)
方法,它根据指定的时区返回当前日期。
在 ~/project
目录下创建一个名为 LocalDateNowZoneId.java
的新 Java 文件。
cd ~/project
touch LocalDateNowZoneId.java
为了使用 LocalDate
类和 ZoneId
类,我们需要导入 java.time.LocalDate
和 java.time.ZoneId
包。
import java.time.LocalDate;
import java.time.ZoneId;
要获取默认系统时区的当前日期,我们可以使用 LocalDate
类的 now()
方法。同时,我们使用 ZoneId
的 systemDefault()
方法来获取默认的系统时区。
LocalDate localDate = LocalDate.now(ZoneId.systemDefault());
System.out.println("Current date with default system time-zone: " + localDate);
如果我们想要获取指定时区的当前日期,可以将时区作为参数传递给 now()
方法。在这个例子中,我们传递时区 "Asia/Tokyo" 来获取东京时区的当前日期。
LocalDate localDate = LocalDate.now(ZoneId.of("Asia/Tokyo"));
System.out.println("Current date in Tokyo time-zone: " + localDate);
要显示可用的时区,我们可以使用 ZoneId
类的 getAvailableZoneIds()
方法。
System.out.println("Available time-zones:");
ZoneId.getAvailableZoneIds().forEach(System.out::println);
你可以使用终端中的 javac
和 java
命令来编译和运行代码。
javac LocalDateNowZoneId.java
java LocalDateNowZoneId
在这个实验中,我们学习了如何使用 Java 的 LocalDate
类的 now(ZoneId)
方法从系统时钟中获取指定时区的当前日期。我们还学习了如何获取可用的时区,以及如何在代码中使用这些时区。