Метод withYear класса Java LocalDate

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Метод withYear() класса LocalDate Java используется для получения новой даты с указанным годом. Он возвращает копию текущего экземпляра LocalDate с годом, измененным на указанное значение. В этом практическом занятии вы последовательно изучите применение метода withYear().


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("Packages / API") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/date("Date") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") java/SystemandDataProcessingGroup -.-> java/object_methods("Object Methods") java/SystemandDataProcessingGroup -.-> java/system_methods("System Methods") subgraph Lab Skills java/output -.-> lab-117864{{"Метод withYear класса Java LocalDate"}} java/classes_objects -.-> lab-117864{{"Метод withYear класса Java LocalDate"}} java/packages_api -.-> lab-117864{{"Метод withYear класса Java LocalDate"}} java/date -.-> lab-117864{{"Метод withYear класса Java LocalDate"}} java/files -.-> lab-117864{{"Метод withYear класса Java LocalDate"}} java/create_write_files -.-> lab-117864{{"Метод withYear класса Java LocalDate"}} java/working -.-> lab-117864{{"Метод withYear класса Java LocalDate"}} java/object_methods -.-> lab-117864{{"Метод withYear класса Java LocalDate"}} java/system_methods -.-> lab-117864{{"Метод withYear класса Java LocalDate"}} end

Создайте Java-файл

Откройте терминал и создайте Java-файл с помощью команды touch.

touch ~/project/WithYearExample.java

Это создаст Java-файл с именем WithYearExample.java в каталоге ~/project/.

Импортируйте необходимые пакеты

Пакет - это пространство имен, которое объединяет набор связанных классов и интерфейсов. Чтобы использовать класс LocalDate, нам нужно импортировать пакет java.time.LocalDate. Добавьте следующий код в файл WithYearExample.java.

import java.time.LocalDate;

Создайте экземпляр LocalDate

В этом шаге мы создадим экземпляр класса LocalDate с использованием метода of(). Метод of() принимает три аргумента: год, месяц и день. Добавьте следующий код ниже инструкции импорта.

LocalDate date = LocalDate.of(2022, 1, 15);
System.out.println("Initial Date: " + date);

Здесь мы устанавливаем дату как 15 января 2022 года.

Измените год с использованием withYear()

В этом шаге мы будем использовать метод withYear(), чтобы изменить год экземпляра LocalDate. Добавьте следующий код ниже шага 3.

LocalDate newDate = date.withYear(2030);  // Установите год равным 2030
System.out.println("New Date: " + newDate);

Здесь мы создаем новую переменную newDate и устанавливаем год равным 2030 с использованием метода withYear().

Обработка недействительного дня месяца

Если текущий экземпляр LocalDate имеет день месяца, который недействителен для нового года, то метод withYear()调整ит значение дня месяца до последнего допустимого дня месяца. Добавьте следующий код ниже шага 4.

LocalDate dateWithInvalidDayOfMonth = LocalDate.of(2021, 2, 31);
LocalDate newDateWithAdjustedDayOfMonth = dateWithInvalidDayOfMonth.withYear(2022);
System.out.println("Old Date: " + dateWithInvalidDayOfMonth + "\nNew Date: " + newDateWithAdjustedDayOfMonth);

Здесь мы устанавливаем дату с недействительным днем месяца, 31 февраля 2021 года, который не существует. Затем мы применяем метод withYear() для изменения года на 2022. Поскольку 2022 год не является високосным, и февраль имеет только 28 дней, день месяца调整яется до 28, что является последним допустимым днем февраля.

Скомпилируйте и запустите программу

Для компиляции и запуска программы перейдите в каталог проекта и выполните следующую команду.

javac WithYearExample.java && java WithYearExample

Результат выполнения программы после выполнения вышеуказанной команды должен быть таким:

Initial Date: 2022-01-15
New Date: 2030-01-15
Old Date: 2021-02-31
New Date: 2022-02-28

Резюме

В этом практическом занятии мы узнали, как использовать метод withYear() класса LocalDate в Java для получения даты с указанным годом. Мы также узнали, как обрабатывать недействительный день месяца при использовании метода withYear(). Следуя этим шагам, вы теперь должны быть в состоянии использовать метод withYear() для эффективной работы с экземплярами LocalDate в своих Java-программах.