Java LocalDate 当前日期

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

Java 的 LocalDate 类是在 Java 8 中引入的,用于表示不带时区的日期。它提供了多种方法来对日期对象执行操作,例如添加或减去天、月和年。其中一个有用的方法是 now(ZoneId) 方法,它根据指定的时区返回当前日期。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("`Java`")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["`Object-Oriented and Advanced Concepts`"]) java(("`Java`")) -.-> java/FileandIOManagementGroup(["`File and I/O Management`"]) java(("`Java`")) -.-> java/SystemandDataProcessingGroup(["`System and Data Processing`"]) java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("`Packages / API`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/date("`Date`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/format("`Format`") java/FileandIOManagementGroup -.-> java/files("`Files`") java/FileandIOManagementGroup -.-> java/create_write_files("`Create/Write Files`") java/FileandIOManagementGroup -.-> java/io("`IO`") java/FileandIOManagementGroup -.-> java/stream("`Stream`") java/SystemandDataProcessingGroup -.-> java/system_methods("`System Methods`") subgraph Lab Skills java/packages_api -.-> lab-117826{{"`Java LocalDate 当前日期`"}} java/date -.-> lab-117826{{"`Java LocalDate 当前日期`"}} java/format -.-> lab-117826{{"`Java LocalDate 当前日期`"}} java/files -.-> lab-117826{{"`Java LocalDate 当前日期`"}} java/create_write_files -.-> lab-117826{{"`Java LocalDate 当前日期`"}} java/io -.-> lab-117826{{"`Java LocalDate 当前日期`"}} java/stream -.-> lab-117826{{"`Java LocalDate 当前日期`"}} java/system_methods -.-> lab-117826{{"`Java LocalDate 当前日期`"}} end

创建一个 Java 文件

~/project 目录下创建一个名为 LocalDateNowZoneId.java 的新 Java 文件。

cd ~/project
touch LocalDateNowZoneId.java

导入所需的包

为了使用 LocalDate 类和 ZoneId 类,我们需要导入 java.time.LocalDatejava.time.ZoneId 包。

import java.time.LocalDate;
import java.time.ZoneId;

获取默认系统时区的当前日期

要获取默认系统时区的当前日期,我们可以使用 LocalDate 类的 now() 方法。同时,我们使用 ZoneIdsystemDefault() 方法来获取默认的系统时区。

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);

编译并运行代码

你可以使用终端中的 javacjava 命令来编译和运行代码。

javac LocalDateNowZoneId.java
java LocalDateNowZoneId

总结

在这个实验中,我们学习了如何使用 Java 的 LocalDate 类的 now(ZoneId) 方法从系统时钟中获取指定时区的当前日期。我们还学习了如何获取可用的时区,以及如何在代码中使用这些时区。

您可能感兴趣的其他 Java 教程