0Pricing
Java Academy · Lektion

Perioden- und Datumsarithmetik

Addieren und subtrahieren Sie Datumsangaben

Perioden- und Datumsarithmetik ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Datumsbasierte Zeitmengen

Während Duration Zeit in Stunden und Sekunden misst, misst Period Mengen in Jahren, Monaten und Tagen. Sie ist das passende Werkzeug für Kalenderberechnungen wie Altersangaben und Fristen.

Tage addieren

LocalDate bietet plusDays, um ein Datum vorwärts zu verschieben. Denken Sie daran, dass das Ergebnis ein neuer unveränderlicher Wert ist.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate start = LocalDate.of(2026, 5, 30);
        System.out.println(start.plusDays(10));
    }
}

Monate und Jahre addieren

plusMonths und plusYears verschieben ein Datum um größere Einheiten und berücksichtigen Monatslängen korrekt.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate start = LocalDate.of(2026, 1, 31);
        System.out.println(start.plusMonths(1));
        System.out.println(start.plusYears(2));
    }
}

Von einem Datum subtrahieren

Verwenden Sie minusDays, minusWeeks und ähnliche Methoden, um ein Datum rückwärts zu verschieben.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        System.out.println(date.minusWeeks(2));
    }
}

Eine Period erzeugen

Erstellen Sie eine Period mit of oder mit Factory-Methoden für einzelne Einheiten wie ofMonths, und addieren Sie sie anschließend zu einem Datum.

import java.time.LocalDate;
import java.time.Period;

public class Main {
    public static void main(String[] args) {
        Period p = Period.of(1, 2, 3);
        LocalDate date = LocalDate.of(2026, 1, 1);
        System.out.println(date.plus(p));
    }
}

Period zwischen Daten

Period.between misst den Abstand zwischen zwei Daten in Jahren, Monaten und Tagen.

import java.time.LocalDate;
import java.time.Period;

public class Main {
    public static void main(String[] args) {
        LocalDate from = LocalDate.of(2020, 1, 15);
        LocalDate to = LocalDate.of(2026, 5, 30);
        Period p = Period.between(from, to);
        System.out.println(p.getYears() + "y " + p.getMonths() + "m " + p.getDays() + "d");
    }
}

Ein Alter berechnen

Eine typische Anwendung von Period.between ist die Berechnung des Alters in vollständigen Jahren.

import java.time.LocalDate;
import java.time.Period;

public class Main {
    public static void main(String[] args) {
        LocalDate birth = LocalDate.of(2000, 6, 15);
        LocalDate today = LocalDate.of(2026, 5, 30);
        int age = Period.between(birth, today).getYears();
        System.out.println(age);
    }
}

Gesamte Tage zählen

Period teilt den Abstand in Jahre, Monate und Tage auf. Für eine einzige Gesamtzahl von Tagen verwenden Sie stattdessen ChronoUnit.DAYS.between.

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class Main {
    public static void main(String[] args) {
        LocalDate from = LocalDate.of(2026, 1, 1);
        LocalDate to = LocalDate.of(2026, 12, 31);
        long days = ChronoUnit.DAYS.between(from, to);
        System.out.println(days);
    }
}

Flexibilität von ChronoUnit

ChronoUnit kann in vielen Einheiten zählen: DAYS, WEEKS, MONTHS und YEARS. Jeder Aufruf von between gibt eine einzelne Zahl zurück.

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class Main {
    public static void main(String[] args) {
        LocalDate from = LocalDate.of(2026, 1, 1);
        LocalDate to = LocalDate.of(2026, 12, 31);
        System.out.println(ChronoUnit.WEEKS.between(from, to));
        System.out.println(ChronoUnit.MONTHS.between(from, to));
    }
}

Den nächsten Wochentag finden

Die Klasse TemporalAdjusters stellt intelligente Anpassungen bereit, etwa den Sprung zum ersten Tag des nächsten Monats.

import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        System.out.println(date.with(TemporalAdjusters.firstDayOfNextMonth()));
    }
}

Period und ChronoUnit im Vergleich

Verwenden Sie Period, wenn Sie eine Aufschlüsselung in Jahre, Monate und Tage benötigen. Verwenden Sie ChronoUnit.between, wenn Sie eine einzige Gesamtzahl in einer Einheit benötigen.

Kurzer Test

Testen Sie Ihre Kenntnisse zur Datumsarithmetik.

Zusammenfassung

Sie haben die Datumsarithmetik kennengelernt:

  • plusDays, plusMonths und plusYears verschieben Daten unveränderlich
  • Period misst Jahre, Monate und Tage und eignet sich besonders für Altersangaben
  • Period.between liefert eine für Menschen verständliche Aufschlüsselung des Abstands
  • ChronoUnit.between liefert eine einzige Gesamtzahl in der gewählten Einheit
  • TemporalAdjusters übernimmt intelligente Sprünge wie zum ersten Tag des nächsten Monats

Häufig gestellte Fragen

Ist die Lektion „Perioden- und Datumsarithmetik“ kostenlos?

Ja — der vollständige Text von „Perioden- und Datumsarithmetik“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Perioden- und Datumsarithmetik“?

Addieren und subtrahieren Sie Datumsangaben Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Java Academy zu starten?

Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Perioden- und Datumsarithmetik“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?

Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. LocalDate, LocalTime, LocalDateTime
  2. Instant und Duration
  3. Perioden- und Datumsarithmetik
  4. Formatieren mit DateTimeFormatter
← Zurück zu Java Academy