Основы LocalDate
Часть раздела Логика и управление потоком путешествия по Java на Coddy — урок 54 из 59.
LocalDate в Java представляет дату без времени или часового пояса. Его используют для работы с датами вроде дней рождения, праздников или расписаний.
Создайте сегодняшнюю дату:
LocalDate today = LocalDate.now();Создайте конкретную дату:
LocalDate date = LocalDate.of(2024, 3, 15);После выполнения приведённого выше кода, date содержит: 2024-03-15
Получить различные части даты:
LocalDate date = LocalDate.of(2024, 3, 15);
int year = date.getYear(); // 2024
int month = date.getMonthValue(); // 3
int day = date.getDayOfMonth(); // 15Разобрать дату из строки:
LocalDate date = LocalDate.parse("2024-03-15"); // Формат: "yyyy-MM-dd"Важно: Если формат строки неверный, parse() выбрасывает DateTimeParseException. Используйте try-catch для обработки этого:
try {
LocalDate date = LocalDate.parse("invalid-date");
} catch (DateTimeParseException e) {
System.out.println("Invalid date format");
}Добавьте или вычтите дни:
LocalDate date = LocalDate.of(2024, 3, 15);
LocalDate future = date.plusDays(10); // 2024-03-25
LocalDate past = date.minusDays(5); // 2024-03-10После выполнения приведённого выше кода:
future: 2024-03-25past: 2024-03-10
Задание
ЛегкоСоздайте метод с именем processDate, который принимает три аргумента:
- Строку (
dateStr) в формате "yyyy-MM-dd" - Целое число (
days) для добавления или вычитания - Строку (
operation) — либо "add", либо "subtract"
Метод должен:
- Разобрать входную строку даты
- Добавить или вычесть указанное количество дней
- Вернуть отформатированную информацию о результате
Сообщения возврата должны быть:
- Если неверный формат даты: вернуть "Invalid date format"
- Если неверная операция: вернуть "Invalid operation"
- При успехе: вернуть "Original: [date], New: [new_date], Day of week: [day_name]"
Шпаргалка
LocalDate представляет дату без времени или часового пояса в Java.
Создайте сегодняшнюю дату:
LocalDate today = LocalDate.now();Создайте конкретную дату:
LocalDate date = LocalDate.of(2024, 3, 15);Получите различные части даты:
LocalDate date = LocalDate.of(2024, 3, 15);
int year = date.getYear(); // 2024
int month = date.getMonthValue(); // 3
int day = date.getDayOfMonth(); // 15
String dayOfWeek = date.getDayOfWeek().toString(); // "FRIDAY"Разберите дату из строки:
LocalDate date = LocalDate.parse("2024-03-15"); // Формат: "yyyy-MM-dd"Добавьте или вычтите дни:
LocalDate date = LocalDate.of(2024, 3, 15);
LocalDate future = date.plusDays(10); // 2024-03-25
LocalDate past = date.minusDays(5); // 2024-03-10Попробуйте сами
import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static String processDate(String dateStr, int days, String operation) {
// Напишите код здесь
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dateStr = scanner.nextLine();
int days = Integer.parseInt(scanner.nextLine());
String operation = scanner.nextLine();
System.out.println(processDate(dateStr, days, operation));
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиПовторение - 2D-массивыСложение и вычитание матрицРваные массивы3D-массивы и вышеРаспространённые паттерны 2D-массивовПовторение - всё о массивах4HashSet Часть 1
Что такое HashSet?Добавление элементаУдаление элементаПроверка наличия элементаПустота и размерОчистка и клонированиеПовторение - HashSet10Даты и время
Основы LocalDateОперации с LocalTimeИспользование LocalDateTimePeriod и DurationФорматирование датРабота с часовыми поясами2HashMap Часть 1
Что такое HashMap?Объявление HashMapДоступ к значениямПроверка существования ключаИзменение словарейИтоги - HashMap3HashMap. Часть 2
Методы HashMapИтерация с keySet()Итерация с entrySet()Вложенный HashMapПовторение - Управление складомПовторение - Операции HashMap6Продвинутое управление потоком
Операторы метокВыражение switchСопоставление шаблоновОхранные клаузыИтоги - управление потоком9Проект - Счетчик уникальных слов
Ввод и хранение текстаОбработка слов