Menu
Coddy logo textTech

Использование LocalDateTime

Часть раздела Логика и управление потоком путешествия по Java на Coddy — урок 56 из 59.

LocalDateTime в Java сочетает в себе дату и время. Это полезно, когда вам нужно работать с обоими компонентами, например, с расписаниями событий или временными метками.

Создать текущую дату и время

LocalDateTime now = LocalDateTime.now();

Создайте конкретную дату и время:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
// 2024-03-15 14:30

После выполнения приведенного выше кода, dateTime содержит:

2024-03-15T14:30

Форматирование даты и времени:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
String formatted = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
challenge icon

Задание

Легко

Создайте метод с именем processDateTime, который принимает четыре аргумента:

  1. Строку (dateTimeStr) в формате "yyyy-MM-dd HH:mm"
  2. Целое число (amount) для добавления или вычитания
  3. Строку (unit) — либо "hours", "days" или "months"
  4. Строку (operation) — либо "add" или "subtract"

Метод должен:

  1. Разобрать входную строку даты и времени
  2. Выполнить указанную операцию
  3. Вернуть отформатированную информацию о результате

Сообщения возврата должны быть:

  • Если неверный формат: вернуть "Invalid date time format"
  • Если неверный unit: вернуть "Invalid unit"
  • Если неверная операция: вернуть "Invalid operation"
  • При успехе: вернуть "Original: [datetime], New: [new_datetime], Day: [day_name]"

Шпаргалка

LocalDateTime объединяет дату и время в Java.

Создать текущую дату и время:

LocalDateTime now = LocalDateTime.now();

Создать конкретную дату и время:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
// Results in: 2024-03-15T14:30

Форматировать дату и время:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
String formatted = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));

Попробуйте сами

import java.util.Scanner;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class Main {
    public static String processDateTime(String dateTimeStr, int amount, String unit, String operation) {
        // Напишите свой код здесь
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String dateTimeStr = scanner.nextLine();
        int amount = Integer.parseInt(scanner.nextLine());
        String unit = scanner.nextLine();
        String operation = scanner.nextLine();
        
        System.out.println(processDateTime(dateTimeStr, amount, unit, operation));
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком