Jämför datum och tid i C#
Vill man jämföra datum och tid i C# så behöver man jobba lite mer än i VB.NET där man kan använda sig av DateDiff().
I C# kan man använda sig av TimeSpan för att jämföra datum. Här är en metod i C# som använder TimeSpan för att få ut antalet dagar mellan två datum (metoden är public static för att enkelt kunna anropas via en basklass):
/// <summary>
/// Compare two given dates
/// </summary>
/// <returns>Number of days between days</returns>
public static int DateDiff(DateTime dt1, DateTime dt2)
{
int diff;
TimeSpan ts = dt1 - dt2;
diff = ts.Days;
return diff;
}
Metoden anropas på detta sätt, där jag väljer att räkna ner antalet dagar till nyårsafton:
try
{
litDiff.Text = DateDiff(DateTime.Now, new DateTime(2008, 12, 31)).ToString();
}
catch { }
Tänk på att det alltid är bra att använda sig av felhantering, i exemplet ovan med hjälp av try catch när jag skriver ut värdet till en Literal-kontroll.
I metoden DateDiff så valde jag att jämföra dagar mellan de givna datumen. Det går lika bra att jämföra på Hours, Milliseconds, Minutes och Seconds.