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-10Nach Ausführung des obigen Codes:
future: 2024-03-25past: 2024-03-10
Aufgabe
EinfachErstelle eine Methode namens processDate, die drei Argumente entgegennimmt:
- Einen String (
dateStr) im Format "yyyy-MM-dd" - Eine Ganzzahl (
days), die addiert oder subtrahiert werden soll - Einen String (
operation), entweder "add" oder "subtract"
Die Methode sollte:
- Die Eingabedatumszeichenfolge parsen
- Die angegebene Anzahl von Tagen addieren oder subtrahieren
- 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));
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays4HashSet Teil 1
Was ist ein HashSet?Ein Element hinzufügenEin Element entfernenPrüfen, ob ein Element vorhanden istLeer und GrößeLeeren und KlonenZusammenfassung - HashSet10Datum und Zeit
LocalDate GrundlagenLocalTime OperationenLocalDateTime VerwendungPeriod und DurationDatumsformatierungZeitzonenbehandlung2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitungÜbe selbstständig: Online-Java-Compiler