Menu
CoddyTech

LocalDate Grundlagen

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy. Lektion 54 von 59.

LocalDate in Java stellt ein Datum ohne Uhrzeit oder Zeitzone dar. Es wird für die Arbeit mit Daten wie Geburtstagen, Feiertagen oder Zeitplänen verwendet.

Erstelle das heutige Datum:

LocalDate today = LocalDate.now();

Erstelle ein bestimmtes Datum:

LocalDate date = LocalDate.of(2024, 3, 15);

Nach der Ausführung des obigen Codes enthält date: 2024-03-15

Rufe verschiedene Teile eines Datums ab:

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"

Ein Datum aus einem String parsen:

LocalDate date = LocalDate.parse("2024-03-15");  // Format: "yyyy-MM-dd"

Wichtig: Wenn das Zeichenfolgenformat ungültig ist, löst parse() eine DateTimeParseException aus. Verwende try-catch, um dies zu behandeln:

try {
    LocalDate date = LocalDate.parse("invalid-date");
} catch (DateTimeParseException e) {
    System.out.println("Invalid date format");
}

Tage hinzufügen oder abziehen:

LocalDate date = LocalDate.of(2024, 3, 15);
LocalDate future = date.plusDays(10);    // 2024-03-25
LocalDate past = date.minusDays(5);      // 2024-03-10

Nach Ausführung des obigen Codes:

  • future: 2024-03-25
  • past: 2024-03-10
challenge icon

Aufgabe

Einfach

Erstelle eine Methode namens processDate, die drei Argumente entgegennimmt:

  1. Einen String (dateStr) im Format "yyyy-MM-dd"
  2. Eine Ganzzahl (days), die addiert oder subtrahiert werden soll
  3. Einen String (operation), entweder "add" oder "subtract"

Die Methode sollte:

  1. Die Eingabedatumszeichenfolge parsen
  2. Die angegebene Anzahl von Tagen addieren oder subtrahieren
  3. Formatierte Informationen zum Ergebnis zurückgeben

Die zurückgegebenen Meldungen sollten lauten:

  • Bei ungültigem Datumsformat: "Invalid date format" zurückgeben
  • Bei ungültiger Operation: "Invalid operation" zurückgeben
  • Bei Erfolg: "Original: [date], New: [new_date], Day of week: [day_name]" zurückgeben, wobei [day_name] der Wochentag des neuen Datums in Großbuchstaben ist (z. B. WEDNESDAY)

Probier es selbst

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) {
        // Schreibe hier deinen Code
    }
    
    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));
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Java-Compiler