Wie man die Differenz zwischen zwei Terminen in C# berechnet
-
Berechnen der Differenz zwischen zwei Datumsangaben in C# unter Verwendung des
-
Operators -
Berechnen der Differenz zwischen zwei Daten in C# mit der Methode
DateTime.Subtract
In diesem Artikel werden wir verschiedene Methoden zur Berechnung der Differenz zwischen zwei Daten in C# untersuchen. Wir werden die Struktur DateTime
für die Darstellung von Date und die Struktur TimeSpan
verwenden, um das Ergebnis zu speichern.
Wir werden die folgende Definition von Datum verwenden, wobei wir mit Hilfe des Konstruktors DateTime
einen Zeitpunkt des Datums angeben.
DateTime sample_date = new DateTime(2010, 6, 14);
Wie Sie vielleicht bemerkt haben, umfassen die Elemente des Datums in der Deklaration das Jahr, den Monat und den Tag.
Sehen wir uns nun die verschiedenen Methoden zur Berechnung der Differenz zwischen zwei Tagen in Bezug auf die Anzahl der Tage an.
Berechnen der Differenz zwischen zwei Datumsangaben in C# unter Verwendung des -
Operators
Die einfachste Lösung ist die Subtraktion der beiden Daten mit dem -
Operator. Da die Objekte vom gleichen Datentyp DateTime
sind, können sie direkt subtrahiert werden. Der folgende Code stellt diese Methode dar.
using System;
public class Sample {
public static void Main() {
DateTime date_1 = new DateTime(2019, 02, 12);
DateTime date_2 = new DateTime(2020, 04, 10);
/*Substraction (minus) of same data types yields difference in days*/
Console.WriteLine("Difference in days: " + (date_2 - date_1).Days);
}
}
Ausgabe:
Difference in days: 423
Berechnen der Differenz zwischen zwei Daten in C# mit der Methode DateTime.Subtract
Die Methode DateTime.Subtract
ist ein weiterer effizienter Weg, dies zu erreichen. Sie gibt die Differenz zwischen zwei Daten zurück, und das Ergebnis kann im Datentyp TimeSpan
gespeichert werden.
using System;
public class Sample {
public static void Main() {
DateTime date_1 = new DateTime(2019, 02, 12);
DateTime date_2 = new DateTime(2020, 04, 10);
TimeSpan Diff_dates = date_2.Subtract(date_1);
Console.WriteLine("Difference in days: " + Diff_dates.Days);
}
}
Ausgabe:
Difference in days: 423
Die DateTime
-Struktur kann auch verwendet werden, um die Tageszeit zusammen mit dem Datum anzugeben. In diesem Fall ist bei der Verwendung der Methode DateTime.Subtract
sicherzustellen, dass die Daten in denselben Zeitzonen liegen. Andernfalls enthält das Ergebnis die Differenz zwischen den Zeitzonen.
Darüber hinaus können wir mit Hilfe des doppelten Satzes von Eigenschaften der Klasse TimeSpan
bei Bedarf auch weitere Informationen extrahieren. Wie im Beispielcode unten haben wir das Präfix Total
- TotalDays
verwendet, um das Ergebnis in Bruchteilen zu erhalten.
using System;
public class Sample {
public static void Main() {
/*Definations include time of day */
DateTime date_1 = new DateTime(2019, 02, 12, 8, 0, 0);
DateTime date_2 = new DateTime(2020, 04, 10, 12, 0, 0);
TimeSpan Diff_dates = date_2.Subtract(date_1);
Console.WriteLine("Difference in Days = " + Diff_dates.Days);
Console.WriteLine("Exact timespan in Days = " + Diff_dates.TotalDays);
}
}
Ausgabe:
Difference in Days = 423
Exact timespan in Days = 423.166666666667
Beachten Sie beim Abschließen der für Ihre Anwendung geeigneten Methode, dass die -
Operator-Methode den Zeitzonenfaktor von Daten nicht berücksichtigt. Wenn also die von Ihnen verwendeten Daten Zeitzonen angeben, ist die DateTime.Subtract
-Methode die naheliegende Wahl.