Jag bloggar numera på http://blog.dileno.com ».

Prenumerera på RSS

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.

Till sidhuvudet

Clicky Web Analytics