C#:
Twee datums vergelijken

Hoe te:

Laten we duiken in C# voor het vergelijken van datums. Stel we hebben twee DateTime objecten, date1 en date2. We vergelijken ze met behulp van DateTime.Compare(date1, date2), date1.CompareTo(date2), of door eigenschappen rechtstreeks te vergelijken:

DateTime date1 = new DateTime(2023, 3, 25);
DateTime date2 = new DateTime(2023, 3, 30);

// Gebruikmakend van de statische methode DateTime.Compare
int resultaat = DateTime.Compare(date1, date2);

if(resultaat < 0)
    Console.WriteLine("date1 is eerder dan date2.");
else if(resultaat == 0)
    Console.WriteLine("date1 is hetzelfde als date2.");
else
    Console.WriteLine("date1 is later dan date2.");

// Gebruikmakend van de CompareTo instantiemethode
resultaat = date1.compareTo(date2);

if(resultaat < 0)
    Console.WriteLine("date1 is opnieuw eerder.");
else if(resultaat == 0)
    Console.WriteLine("Nog steeds dezelfde tijd?");
else
    Console.WriteLine("date1 lijkt deze keer later te zijn?");

// Directe vergelijking
if(date1 < date2)
    Console.WriteLine("Ja, date1 is eerder, dat zien we direct.");
else if(date1 == date2)
    Console.WriteLine("Gelijk, duidelijk en simpel.");
else
    Console.WriteLine("Of is date1 later? Nee, niet deze keer.");

Uitvoer zal tonen dat date1 eerder is dan date2 in alle vergelijkingen—je stelt het voor de hand liggende vast, maar dat is waar logs voor zijn.

Diep Duiken

DateTime vergelijkingen zijn een onderdeel van C# sinds de introductie ervan, cruciaal voor het omgaan met het ooit belangrijke concept van tijd. Intern representeren DateTime waarden tikken sinds middernacht, 1 januari 0001, binnen de Common Language Runtime.

Snak je naar alternatieven? Je zou TimeSpan kunnen gebruiken voor verschillen, of het een niveau hoger tillen met NodaTime, een bibliotheek van Jon Skeet voor meer complexe behandeling van data en tijd.

Hier is een technisch leuk feitje: DateTime-typen in .NET kunnen Unspecified, Utc, of Local zijn. Een UTC-tijd vergelijken met een lokale tijd? Dat vraagt om problemen. Zorg altijd dat de typen overeenkomen om scheve logica te voorkomen!

Zie Ook

Duik dieper of verduidelijk dingen met deze: