Η λύση τελικά είναι η εξής για όποιον ενδιαφέρεται:
Dim NowYear As Integer = Now().Year
Dim NowMonth As Integer = Now().Month
Dim NowDay As Integer = Now().Day
Dim BirthYear As Integer = DtpDate.Value.Year
Dim BirthMonth As Integer = DtpDate.Value.Month
Dim BirthDay As Integer = DtpDate.Value.Day
Dim LastYear As Integer = NowYear - 1
Dim LastMonth As Integer = NowMonth - 1
Dim LastMonthDays As Integer
Dim Years As Integer
Dim Months As Integer
Dim Days As Integer
Select Case LastMonth
Case 0
LastMonthDays = 31
LastYear -= 1
Case 1
LastMonthDays = 31
Case 2
If NowYear Mod 4 = 0 Then
LastMonthDays = 29
Else
LastMonthDays = 28
End If
Case 3
LastMonthDays = 31
Case 4
LastMonthDays = 30
Case 5
LastMonthDays = 31
Case 6
LastMonthDays = 30
Case 7
LastMonthDays = 31
Case 8
LastMonthDays = 31
Case 9
LastMonthDays = 30
Case 10
LastMonthDays = 31
Case 11
LastMonthDays = 30
Case 12
LastMonthDays = 31
End Select
If NowDay < BirthDay Then
NowDay += LastMonthDays
NowMonth -= 1
End If
Days = NowDay - BirthDay
Months = NowMonth - BirthMonth
If Months < 0 Then
NowYear -= 1
Months += 12
End If
Years = NowYear - BirthYear
LblAgeShow.Text =
"Years: " & Years & " Months: " & Months & " Days: " & Days
Κουλούρης Θάνος