get difference between two dates c# in days and months and years C# code example

Example 1: c# calculate difference between two dates in days

(EndDate - StartDate).TotalDays //double
(EndDate.Date - StartDate.Date).Days //int

Example 2: How to get number of months between 2 dates c#

class Program
    {
        static void Main(string[] args)
        {
            //First Date
            DateTime firstDate = new DateTime(2017, 03, 03);
 
            //Second Date
            DateTime secondDate =new  DateTime(2018, 06, 06); //DateTime.Now;
 
 
           int months= MonthDiff(firstDate, secondDate);
 
            Console.WriteLine("First Date  :"+firstDate);
            Console.WriteLine("Second Date :" + secondDate);
            Console.WriteLine("Months      :"+months);
            Console.ReadLine();
        }
 
        public static int MonthDiff(DateTime d1, DateTime d2)
        {
            int m1;
            int m2;
            if(d1<d2)
            {
                m1 = (d2.Month - d1.Month);//for years
                m2 = (d2.Year - d1.Year) * 12; //for months
            }
            else
            {
                m1 = (d1.Month - d2.Month);//for years
                m2 = (d1.Year - d2.Year) * 12; //for months
            }
            
            return  m1 + m2;
        }
    }