Menu
Coddy logo textTech

Zastosowanie LocalDateTime

Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 56 z 59.

LocalDateTime w Javie łączy datę i godzinę. Jest przydatny, gdy musisz pracować z obiema składowymi, na przykład przy harmonogramach wydarzeń lub znacznikach czasu.

Utwórz bieżącą datę i godzinę

LocalDateTime now = LocalDateTime.now();

Utwórz konkretną datę i godzinę:

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

Po wykonaniu powyższego kodu dateTime zawiera:

2024-03-15T14:30

Sformatuj datę i godzinę:

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

Wyzwanie

Łatwy

Utwórz metodę o nazwie processDateTime, która przyjmuje cztery argumenty:

  1. String (dateTimeStr) w formacie "yyyy-MM-dd HH:mm"
  2. Liczbę całkowitą (amount) do dodania lub odjęcia
  3. String (unit) o wartości "hours", "days" lub "months"
  4. String (operation) o wartości "add" lub "subtract"

Metoda powinna:

  1. Parsować wejściowy ciąg znaków z datą i godziną
  2. Wykonać określoną operację
  3. Zwrócić sformatowane informacje o wyniku

Zwracane komunikaty powinny być następujące:

  • Jeśli format jest nieprawidłowy: zwróć "Invalid date time format"
  • Jeśli jednostka jest nieprawidłowa: zwróć "Invalid unit"
  • Jeśli operacja jest nieprawidłowa: zwróć "Invalid operation"
  • W przypadku powodzenia: zwróć "Original: [datetime], New: [new_datetime], Day: [day_name]"

Spróbuj swoich sił

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) {
        // Wpisz tutaj swój kod
    }
    
    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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Java online