Java LocalDate Get 方法

JavaJavaBeginner
立即练习

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

介绍

在本实验中,你将学习如何使用 Java 中 LocalDate 类的 get() 方法从日期中检索特定字段。当你只需要从给定日期中检索特定字段(例如月份中的某一天或星期几)时,此方法非常有用。你可以使用 ChronoField 枚举来指定要检索的字段。


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(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/class_methods("Class Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/date("Date") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/enums("Enums") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/SystemandDataProcessingGroup -.-> java/object_methods("Object Methods") subgraph Lab Skills java/output -.-> lab-117782{{"Java LocalDate Get 方法"}} java/class_methods -.-> lab-117782{{"Java LocalDate Get 方法"}} java/date -.-> lab-117782{{"Java LocalDate Get 方法"}} java/enums -.-> lab-117782{{"Java LocalDate Get 方法"}} java/files -.-> lab-117782{{"Java LocalDate Get 方法"}} java/create_write_files -.-> lab-117782{{"Java LocalDate Get 方法"}} java/object_methods -.-> lab-117782{{"Java LocalDate Get 方法"}} end

创建 Java 文件

~/project 目录下创建一个名为 LocalDateGet.java 的新文件,可以通过在终端中运行以下命令来完成:

    ```
    touch ~/project/LocalDateGet.java
    ```

导入所需的包

在你的 LocalDateGet.java 文件中,导入用于处理日期的所需包:

    ```java
    import java.time.LocalDate;
    import java.time.temporal.ChronoField;
    import java.time.temporal.TemporalAccessor;
    import java.time.temporal.TemporalField;
    ```

    这些包将允许我们使用 `LocalDate` 对象,并通过 `ChronoField` 和 `TemporalField` 枚举定义和检索日期中的特定字段。

获取月份中的某一天

LocalDateGet 中创建一个方法,用于从给定日期中获取月份中的某一天。

    ```java
    public static void getDayOfMonth() {
        // 获取一个日期
        TemporalField field = ChronoField.DAY_OF_MONTH;
        TemporalAccessor date = LocalDate.of(2021,05,17);

        // 显示日期
        System.out.println("Date : "+date);

        // 使用 get() 方法获取月份中的某一天
        int val = date.get(field);

        // 显示月份中的某一天
        System.out.println("Day of the month: "+val);
    }
    ```

    该方法获取一个日期对象和一个表示月份中某一天的 `ChronoField` 对象。然后,它使用 `date` 对象的 `get()` 方法获取月份中的某一天并显示出来。

获取星期几

LocalDateGet 中创建另一个方法,用于从给定日期中获取星期几。

    ```java
    public static void getDayOfWeek() {
        // 获取一个日期
        TemporalField field = ChronoField.DAY_OF_WEEK;
        TemporalAccessor date = LocalDate.of(2021,05,17);

        // 显示日期
        System.out.println("Date : "+date);

        // 使用 get() 方法获取星期几
        int val = date.get(field);

        // 显示星期几
        System.out.println("Day of the week: "+val);
    }
    ```

    该方法获取一个日期对象和一个表示星期几的 `ChronoField` 对象。它使用 `date` 对象的 `get()` 方法获取星期几并显示出来。

获取一年中的某一天

LocalDateGet 中再创建一个方法,用于从给定日期中获取一年中的某一天。

    ```java
    public static void getDayOfYear() {
        // 获取一个日期
        TemporalField field = ChronoField.DAY_OF_YEAR;
        TemporalAccessor date = LocalDate.of(2021,05,17);

        // 显示日期
        System.out.println("Date : "+date);

        // 使用 get() 方法获取一年中的某一天
        int val = date.get(field);

        // 显示一年中的某一天
        System.out.println("Day of the year: "+val);
    }
    ```

    该方法获取一个日期对象和一个表示一年中某一天的 `ChronoField` 对象。然后,它使用 `date` 对象的 `get()` 方法获取一年中的某一天并显示出来。

运行程序

在你的 LocalDateGet 类中添加以下 main() 方法:

    ```java
    public static void main(String[] args) {
        getDayOfMonth();
        getDayOfWeek();
        getDayOfYear();
    }
    ```

    该方法调用了 `LocalDateGet` 类中的前三个方法。

    现在,导航到 `~/project` 目录并运行以下命令来编译代码:

    ```
    javac LocalDateGet.java
    ```

    代码成功编译后,运行应用程序:

    ```
    java LocalDateGet
    ```

输出

执行程序后,你将看到以下输出:

    ```
    Date : 2021-05-17
    Day of the month: 17
    Date : 2021-05-17
    Day of the week: 1
    Date : 2021-05-17
    Day of the year: 137
    ```

    该输出显示了日期对象以及使用每个字段的 `get()` 方法检索到的特定字段值。

总结

在本实验中,你学习了如何使用 Java LocalDate 类的 get() 方法从日期中检索特定字段。你创建了一个程序,用于检索同一日期的月份中的某一天、星期几以及一年中的某一天。通过结合使用 get() 方法和 ChronoField 枚举,你可以在处理日期时使 Java 程序更加高效和准确。