How to get the difference between two DateTime in hour with C# ?
4 comments
I am currently developing a mobile app with Xamrin.Forms and I had to know the number of hours between two dates. It seems dumb, but in fact, it is quite tough to find a smart and optimised way to do it. I wanted to share with you the solution I found.
Basics
First, let's look at the basics.
DateTime.Substract(DateTime)
lets us to substract the first date by the second one. It returns a TimeSpan value and it represents a time interval.TimeSpan
is in fact, an instance that represents the difference between 2 DateTime objects. To learn more about this type, go here.TimeSpan.TotalHours
is the property that interests us. It gets the value of the current TimeSpan structure expressed in whole and fractional hours and its value type is adouble
.- If you need the hour difference without a fraction of hours by using
TimeSpan.Hours
property. It returns anint
Example
Here is a code snippet using this method to get the hour difference for training.
public int GetHourDifference(DateTime dateBefore, DateTime dateAfter)
{
TimeSpan hourDifferenceSpan = dateAfter.Subtract(dateBefore);
int hourDifference = hourDifferenceSpan.TotalHours;
return hourDifference;
}
DateTime trainingBegin = DateTime.Today; // The training begins now
DateTime trainingEnd = DateTime.Today.AddHours(2);
Console.WriteLine("The training will last " + GerHourDifference(trainingBegin, trainingEnd) + " hours.");
Thank you so much for reading! I really like to share all of those little tips! If you like it and it also interests you, please let me know in the comments! I can do these with JS, PHP, HTML and CSS.
Sources
Waivio AI Assistant
How can I help you today?
Comments