0Pricing
C# Academy · Lektion

Datumsberechnungen

Addieren, subtrahieren und vergleichen.

Datumsberechnungen ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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 C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.

Mit Datumswerten rechnen

DateTime-Werte sind unveränderlich: Rechenoperationen ändern das Original niemals. Stattdessen gibt jede Operation einen vollständig neuen DateTime-Wert zurück.

In dieser Lektion geht es darum, Zeit hinzuzufügen und abzuziehen, Datumswerte zu vergleichen und Fragen wie „Wie viele Tage sind es noch bis zu einem Ereignis?“ zu beantworten.

AddDays

Die Methode AddDays gibt ein Datum zurück, das um die angegebene Anzahl von Tagen später liegt. Übergeben Sie eine negative Zahl, um rückwärts zu gehen.

Da DateTime unveränderlich ist, müssen Sie den zurückgegebenen Wert verwenden; das Original bleibt unverändert.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        DateTime later = d.AddDays(10);
        Console.WriteLine(later.ToString("yyyy-MM-dd"));
    }
}

Die Add-Methodenfamilie

Für jede Einheit gibt es eine Add-Methode: AddHours, AddMinutes, AddSeconds, AddMonths und AddYears.

Sie akzeptieren alle positive oder negative Zahlen, sodass dieselbe Methodengruppe sowohl für die Zukunft als auch für die Vergangenheit verwendet werden kann.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 9, 0, 0);
        Console.WriteLine(d.AddHours(5).Hour);
    }
}

AddMonths behandelt Überläufe

AddMonths berücksichtigt die unterschiedliche Länge der Monate. Wenn Sie zu einem 31. Januar einen Monat addieren, erhalten Sie den 28. oder 29. Februar und kein ungültiges Datum.

So müssen Sie nicht selbst prüfen, wie viele Tage die einzelnen Monate haben.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 1, 31);
        Console.WriteLine(d.AddMonths(1).ToString("yyyy-MM-dd"));
    }
}

Rückwärts gehen

Um in die Vergangenheit zu gehen, übergeben Sie ein negatives Argument. AddDays(-7) gibt das Datum eine Woche früher zurück.

Es gibt keine separate Methode zum Abziehen von Tagen; negative Werte lösen dies auf übersichtliche Weise.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.AddDays(-7).ToString("yyyy-MM-dd"));
    }
}

Einen TimeSpan hinzufügen

Sie können einen TimeSpan mit dem Operator + oder der Methode Add direkt zu einem DateTime-Wert addieren.

Das ist praktisch, wenn Sie bereits eine Dauer haben und ein Datum um diese verschieben möchten.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 9, 0, 0);
        DateTime later = d + TimeSpan.FromHours(3);
        Console.WriteLine(later.Hour);
    }
}

Differenz zwischen Datumswerten

Wenn Sie einen Datumswert von einem anderen abziehen, erhalten Sie einen TimeSpan, der den Abstand beschreibt.

Lesen Sie TotalDays aus, um die Anzahl der Tage zwischen den beiden Werten zu ermitteln, auch wenn dabei Monats- oder Jahresgrenzen überschritten werden.

using System;

class Program
{
    static void Main()
    {
        DateTime start = new DateTime(2024, 1, 1);
        DateTime end = new DateTime(2024, 3, 1);
        Console.WriteLine((end - start).TotalDays);
    }
}

Tage bis zu einem Ereignis

Eine häufige Aufgabe besteht darin, die Tage bis zu einem zukünftigen Datum zu zählen. Ziehen Sie das heutige Datum vom Ziel ab und lesen Sie TotalDays oder Days aus.

Die Verwendung fester Datumswerte sorgt hier für eine vorhersehbare Ausgabe beim Lernen.

using System;

class Program
{
    static void Main()
    {
        DateTime today = new DateTime(2024, 3, 1);
        DateTime party = new DateTime(2024, 3, 15);
        Console.WriteLine((party - today).Days);
    }
}

Datumswerte vergleichen

DateTime-Werte lassen sich mit <, > und == vergleichen. Ein früheres Datum ist kleiner als ein späteres.

Wenn Sie ein formales Vergleichsergebnis benötigen, gibt es außerdem Methoden wie CompareTo und Equals.

using System;

class Program
{
    static void Main()
    {
        DateTime a = new DateTime(2024, 1, 1);
        DateTime b = new DateTime(2024, 6, 1);
        Console.WriteLine(a < b);
    }
}

Schaltjahre und Tage im Monat

Zwei statische Hilfsmethoden beantworten Fragen zum Kalender. DateTime.IsLeapYear(year) gibt für Schaltjahre den Wert true zurück.

DateTime.DaysInMonth(year, month) gibt an, wie viele Tage ein bestimmter Monat hat, und berücksichtigt den Februar korrekt.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine(DateTime.IsLeapYear(2024));
        Console.WriteLine(DateTime.DaysInMonth(2024, 2));
    }
}

Anfang und Ende eines Tages

Um den Tagesanfang zu erhalten, verwenden Sie die Eigenschaft Date, die die Uhrzeit auf Mitternacht setzt.

Für den letzten Moment eines Tages addieren Sie einen Tag und subtrahieren einen Tick oder addieren 23:59:59. Die Eigenschaft Date ist dafür der einfachste Ausgangspunkt.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.Date.ToString("yyyy-MM-dd HH:mm"));
    }
}

Schnelltest

Sie beginnen mit dem 31. Januar 2024 und rufen AddMonths(1) auf. Welches Datum erhalten Sie?

Zusammenfassung

Berechnungen mit DateTime geben neue Werte zurück. Verschieben Sie Datumswerte mit AddDays, AddMonths und ähnlichen Methoden, wobei Sie zum Rückwärtsgehen negative Werte verwenden.

Ziehen Sie Datumswerte voneinander ab, um einen TimeSpan zu erhalten, vergleichen Sie sie mit Operatoren und verwenden Sie IsLeapYear, DaysInMonth und Date für Kalenderaufgaben.

Häufig gestellte Fragen

Ist die Lektion „Datumsberechnungen“ kostenlos?

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

Was lerne ich in „Datumsberechnungen“?

Addieren, subtrahieren und vergleichen. Du übst C# 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 C# Academy zu starten?

Keine Vorkenntnisse erforderlich. C# 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 4 von 4.

Wie lange dauert die Lektion „Datumsberechnungen“?

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 C# Academy-Lektion Code schreiben und ausführen?

Ja. Jede C# 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. DateTimes erstellen
  2. Daten formatieren
  3. TimeSpan und Zeitspannen
  4. Datumsberechnungen
← Zurück zu C# Academy