Menu
Coddy logo textTech

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 verwendet, um mit Daten wie Geburtstagen, Feiertagen oder Zeitplänen zu arbeiten.

Heutiges Datum erstellen:

LocalDate today = LocalDate.now();

Ein spezifisches Datum erstellen:

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

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

Verschiedene Teile eines Datums abrufen:

LocalDate date = LocalDate.of(2024, 3, 15);
int year = date.getYear();      // 2024
int month = date.getMonthValue(); // 3
int day = date.getDayOfMonth();   // 15

Ein Datum aus einem String parsen:

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

Wichtig: Wenn das Format der Zeichenkette ungültig ist, wirft parse() eine DateTimeParseException. Verwenden Sie 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

Erstellen Sie eine Methode namens processDate, die drei Argumente annimmt:

  1. Ein String (dateStr) im Format "yyyy-MM-dd"
  2. Eine Ganzzahl (days) zum Addieren oder Subtrahieren
  3. Ein String (operation) entweder "add" oder "subtract"

Die Methode sollte:

  1. Den Eingabe-Datum-String parsen
  2. Die angegebene Anzahl von Tagen addieren oder subtrahieren
  3. Formatierte Informationen über das Ergebnis zurückgeben

Die Rückgabemeldungen sollten sein:

  • Bei ungültigem Datumsformat: return "Invalid date format"
  • Bei ungültiger Operation: return "Invalid operation"
  • Bei Erfolg: return "Original: [date], New: [new_date], Day of week: [day_name]"

Spickzettel

LocalDate stellt ein Datum ohne Zeit oder Zeitzone in Java dar.

Heutiges Datum erstellen:

LocalDate today = LocalDate.now();

Ein spezifisches Datum erstellen:

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

Verschiedene Teile eines Datums abrufen:

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"

Tage addieren oder subtrahieren:

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

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 deinen Code hier
    }
    
    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