Well, Steve, you DID say ANY input!!
While likely not the most accurate mathematically, here's where I am so far. I think works using DayOfYear as opposed to Day but dMonth creates the inaccuracy. Might be able to get a better algorithm once I think more about it:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim EndDate, StartDate As Date
Dim dYears, dMonth, dDays As String
StartDate = Convert.ToDateTime(TextBox1.Text)
EndDate = Convert.ToDateTime(TextBox2.Text)
dYears = DateDiff(DateInterval.Year, StartDate, EndDate)
dMonth = DateDiff(DateInterval.Month, StartDate, EndDate) - (dYears * 12)
dDays = (DateDiff(DateInterval.DayOfYear, StartDate, EndDate) - (dYears * 365) - (dMonth * 30))
Label1.Text = dYears & "Year(s), " & dMonth & " Month(s), " & dDays & " Day(s) have passed."
End Sub
Best to you,
MKS