Calculate Date and Time Difference Between Two Dates

A very common requirement is to display the Date and Time difference between two dates. Let us see how to do it:

C#


   DateTime date1 = 
   System.Convert.ToDateTime("2009-1-01 11:08:22");

   DateTime date2 = 
   System.Convert.ToDateTime("2009-1-02");

   TimeSpan ts = new TimeSpan();

   ts = date2.Subtract(date1);

   Response.Write(ts.Days + " Days " 
      + ts.Hours + " Hours " + 
      ts.Seconds + " Seconds ");        

 // Displays 0 Days 12 Hours 38 Seconds 


VB.NET


   Dim date1 As DateTime = _
    System.Convert.ToDateTime("2009-1-01 11:08:22")

   Dim date2 As DateTime = _
    System.Convert.ToDateTime("2009-1-02")

   Dim ts As New TimeSpan()

   ts = date2.Subtract(date1)

   Response.Write(ts.Days & " Days " & _
     ts.Hours & " Hours " & ts.Seconds & _
   " Seconds ")

 
 ' Displays 0 Days 12 Hours 38 Seconds 




The output displayed is : 0 Days 12 Hours 38 Seconds

If anyone has a requirement to do the same in SQL Server, check my post over here:

Find Hours, Minutes and Seconds in between two Datetime in SQL Server




About The Author

Suprotim Agarwal
Suprotim Agarwal, Developer Technologies MVP (Microsoft Most Valuable Professional) is the founder and contributor for DevCurry, DotNetCurry and SQLServerCurry. He is the Chief Editor of a Developer Magazine called DNC Magazine. He has also authored two Books - 51 Recipes using jQuery with ASP.NET Controls. and The Absolutely Awesome jQuery CookBook.

Follow him on twitter @suprotimagarwal.

3 comments:

Hardeep said...

Very Good Code
Keep it up

Anonymous said...

not bad, but what if the requirement is to show the number of working days only (e.g. do not include Sat or Sun) ?

lingmaaki said...

can use these methods

DateTime newDate = new DateTime(2000, 5, 1);

String diff2 = (secondDate - firstDate).TotalDays.ToString();

http://csharp.net-informations.com/statements/csharp-date-difference.htm

ling