Используйте функцию DateDiff в VB.NET
Вот код, который даст вам годы, месяцы и дни:
Dim Date1 = Date.Parse("1/10/2008")
Dim Date2 = Date.Parse("3/25/2009")
Dim Years = DateDiff(DateInterval.Year, Date1, Date2)
If Years > 0 Then
Date1 = Date1.AddYears(Years)
End If
Dim Months = DateDiff(DateInterval.Month, Date1, Date2)
If Months > 0 Then
Date1 = Date1.AddMonths(Months)
End If
Dim Days = DateDiff(DateInterval.Day, Date1, Date2)
Console.WriteLine("{0} years, {1} months, {2} days", Years, Months, Days)
Выход:
1 год, 2 месяца, 15 дней
Вы можете добавить немного больше логики для условного отображения каждого диапазона, только если он не равен нулю, а также использовать год или годы, месяц или месяцы и день или дни, но этот код должен направить вас в правильном направлении.