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

Will you give this article a +1 ? Thanks in advance


About The Author

Suprotim Agarwal
Suprotim Agarwal, ASP.NET Architecture MVP (Microsoft Most Valuable Professional) works as an Architect Consultant and provides consultancy on how to design and develop Web applications.

Suprotim is also the founder and primary contributor to DevCurry, DotNetCurry and SQLServerCurry. He is the Editor of a Developer Magazine called DNC Magazine. He has also written two EBooks 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