TimeSpan und Zeitspannen
Messen Sie Zeitspannen.
TimeSpan und Zeitspannen ist eine kostenlose C# 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 C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein TimeSpan
Während DateTime einen Zeitpunkt darstellt, repräsentiert TimeSpan eine Zeitspanne, etwa 2 Stunden oder 90 Minuten.
Es handelt sich um eine Dauer ohne Kalenderbezug. Sie verwenden sie für Stoppuhrergebnisse, Zeitüberschreitungen und den Abstand zwischen zwei Datumswerten.
Einen TimeSpan erstellen
Ein Konstruktor nimmt Stunden, Minuten und Sekunden entgegen: new TimeSpan(hours, minutes, seconds).
new TimeSpan(1, 30, 0) entspricht also einer Stunde und dreißig Minuten. Der Wert wird in einem übersichtlichen h:mm:ss-Format ausgegeben.
using System;
class Program
{
static void Main()
{
TimeSpan span = new TimeSpan(1, 30, 0);
Console.WriteLine(span);
}
}Factory-Methoden
Oft ist es lesbarer, eine Factory-Methode zu verwenden. TimeSpan.FromMinutes(90) erstellt eine Zeitspanne von 90 Minuten.
Dazu gibt es passende Hilfsmethoden: FromHours, FromSeconds, FromDays und FromMilliseconds.
using System;
class Program
{
static void Main()
{
TimeSpan span = TimeSpan.FromMinutes(90);
Console.WriteLine(span);
}
}Gesamtwerte und Einzelbestandteile
TimeSpan verfügt über zwei Gruppen von Eigenschaften. Hours, Minutes und Seconds geben die in Einzelbestandteile zerlegte Dauer zurück.
Die Varianten mit Total..., etwa TotalMinutes, geben die gesamte Dauer als Dezimalzahl in einer einzigen Einheit an.
using System;
class Program
{
static void Main()
{
TimeSpan span = TimeSpan.FromMinutes(90);
Console.WriteLine(span.Hours);
Console.WriteLine(span.TotalMinutes);
}
}Einzelbestandteile und Gesamtwerte erklärt
Bei 90 Minuten ist Hours gleich 1 und Minutes gleich 30, weil sich die Dauer in 1 Stunde und 30 Minuten zerlegen lässt.
TotalHours ist dagegen 1,5 und TotalMinutes ist 90, da diese Eigenschaften die gesamte Zeitspanne in einer einzigen Einheit zählen.
using System;
class Program
{
static void Main()
{
TimeSpan span = TimeSpan.FromMinutes(90);
Console.WriteLine(span.TotalHours);
}
}Zwei Datumswerte voneinander abziehen
Wenn Sie einen DateTime-Wert von einem anderen abziehen, ist das Ergebnis ein TimeSpan.
Auf diese Weise ermitteln Sie im Alltag, wie viel Zeit zwischen zwei Zeitpunkten vergangen ist, beispielsweise die Dauer eines Ereignisses.
using System;
class Program
{
static void Main()
{
DateTime start = new DateTime(2024, 3, 5, 9, 0, 0);
DateTime end = new DateTime(2024, 3, 5, 11, 30, 0);
TimeSpan diff = end - start;
Console.WriteLine(diff.TotalHours);
}
}TimeSpans addieren
Sie können TimeSpan-Werte mit den normalen Operatoren + und - addieren oder subtrahieren.
Durch das Kombinieren zweier Zeitspannen entsteht eine längere Zeitspanne. Das ist nützlich, um mehrere Intervalle zu summieren.
using System;
class Program
{
static void Main()
{
TimeSpan a = TimeSpan.FromMinutes(45);
TimeSpan b = TimeSpan.FromMinutes(15);
Console.WriteLine((a + b).TotalMinutes);
}
}Negative Zeitspannen
Ein TimeSpan kann negativ sein, wenn das Ende vor dem Anfang liegt oder das Ergebnis einer Subtraktion negativ ist.
Die Methode Duration gibt den Absolutwert zurück, und Negate kehrt das Vorzeichen um. Das ist hilfreich, wenn nur der Betrag von Bedeutung ist.
using System;
class Program
{
static void Main()
{
TimeSpan span = TimeSpan.FromHours(-3);
Console.WriteLine(span.Duration().TotalHours);
}
}Zeitspannen vergleichen
TimeSpan-Werte lassen sich mit <, > und == genauso wie Zahlen vergleichen.
So können Sie prüfen, ob eine Zeitspanne länger als eine andere ist, beispielsweise um eine maximal zulässige Dauer durchzusetzen.
using System;
class Program
{
static void Main()
{
TimeSpan limit = TimeSpan.FromHours(2);
TimeSpan used = TimeSpan.FromMinutes(150);
Console.WriteLine(used > limit);
}
}Nullwert und Konstanten
TimeSpan.Zero steht für keine vergangene Zeit und ist ein praktischer Startwert für Summen.
Außerdem gibt es TimeSpan.MinValue und TimeSpan.MaxValue für die äußersten Grenzen einer Zeitspanne.
using System;
class Program
{
static void Main()
{
TimeSpan total = TimeSpan.Zero;
total += TimeSpan.FromMinutes(10);
Console.WriteLine(total.TotalMinutes);
}
}Einen TimeSpan formatieren
Sie können einen TimeSpan mit einer benutzerdefinierten Zeichenfolge formatieren. Beispielsweise zeigt @"hh\:mm" Stunden und Minuten an.
Die umgekehrten Schrägstriche maskieren den Doppelpunkt, sodass er wörtlich ausgegeben wird. Für eine schnelle Ausgabe reicht ToString ohne Argumente normalerweise aus.
using System;
class Program
{
static void Main()
{
TimeSpan span = new TimeSpan(2, 5, 0);
Console.WriteLine(span.ToString(@"hh\:mm"));
}
}Schnelltest
Sie haben einen TimeSpan von 90 Minuten. Welche Eigenschaft gibt den Wert 1,5 zurück?
Zusammenfassung
Ein TimeSpan ist eine Zeitspanne. Sie können ihn mit new TimeSpan(...) oder Factory-Methoden wie FromMinutes erstellen.
Eigenschaften für Einzelbestandteile wie Hours unterscheiden sich von Eigenschaften mit Total.... Wenn Sie zwei DateTime-Werte voneinander abziehen, erhalten Sie einen TimeSpan. Zeitspannen können Sie addieren, vergleichen und formatieren.
Häufig gestellte Fragen
Ist die Lektion „TimeSpan und Zeitspannen“ kostenlos?
Ja — der vollständige Text von „TimeSpan und Zeitspannen“ 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 „TimeSpan und Zeitspannen“?
Messen Sie Zeitspannen. 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 3 von 4.
Wie lange dauert die Lektion „TimeSpan und Zeitspannen“?
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
- DateTimes erstellen
- Daten formatieren
- TimeSpan und Zeitspannen
- Datumsberechnungen