How to subtract a datetime from another datetime?

DateTime startTime = DateTime.Now; 
DateTime endTime = DateTime.Now.AddSeconds( 75 );  
TimeSpan span = endTime.Subtract ( startTime ); 
Console.WriteLine( "Time Difference (seconds): " + span.Seconds ); 
Console.WriteLine( "Time Difference (minutes): " + span.Minutes ); 
Console.WriteLine( "Time Difference (hours): " + span.Hours ); 
Console.WriteLine( "Time Difference (days): " + span.Days );

In .NET, if you subtract one DateTime object from another, you will get a TimeSpan object. You can then use the Ticks property on that TimeSpan object to get the number of ticks between the two DateTime objects. However, the ticks will be represented by a Long, not a Double.

DateTime date1;
DateTime date2;
Long diffTicks = (date2 - date1).Ticks;

There are other interesting properties on the TimeSpan object like TotalMilliseconds and TotalMinutes and things like that which can help you out, and may be more what you are looking for.


I think this is what you need.

DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.UtcNow;

var result = d1 - d2;

double dResult = result.Ticks;

Use DateTime.Subtract which will return TimeSpan , then use TotalSeconds property of the result which is of type double.

Tags:

C#

.Net

Datetime