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

3 comments:

  1. Very Good Code
    Keep it up

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

    ReplyDelete
  3. 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

    ReplyDelete