get years and months between two dates c# code example

Example 1: 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;
        }
    }

Example 2: total months between two dates c#

((date1.Year - date2.Year) * 12) + date1.Month - date2.Month