1.- creamos el método para calcular la edad
Friend Function calcularEdadActual() As String
Dim dob As DateTime = dtpFechaNacimiento.Value.ToShortDateString
Dim doa As DateTime = Now
Dim mySpan As Int16 = CInt(doa.Subtract(dob).TotalDays)
Dim nowYear As Int16 = doa.Year
Dim nowMonth As Int16 = doa.Month
Dim birthYear As Int16 = dob.Year
Dim birthMonth As Int16 = dob.Month
Dim edad As String
Dim yearCount As Int16
For yearCount = Date.Now.Year To birthYear Step -1
If yearCount Mod 4 = 0 Then
Select Case True
Case yearCount = nowYear And nowMonth < 3
Case yearCount = birthYear And birthMonth > 2
Case Else
mySpan -= 1
End Select
End If
Next
Dim myYears As Int16 = mySpan / 365
Dim myDays As Int16 = mySpan - (myYears * 365)
If myDays < 0 Then
myYears -= 1
myDays = 365 + myDays
End If
'------------------------------------------------------------------------------------
'calcular los meses
If myDays > 30 Then
Dim mes As Double
mes = (myDays / 31)
Dim a() As String
a = Split(mes, ".")
If myYears > 0 Then
edad = myYears & " Año(s) y " & a(0) & " mes(es)"
Else
edad = a(0) & " mes(es)"
End If
Else
edad = myYears & " Año(s) y " & myDays & " dia(s)"
End If
'------------------------------------------------------------------------------------
Return edad
End Function
2.- Ejecutamos el método, (esto se pega dentro del botón calcular)
Private Sub btnCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalcular.Click
Try
lblEdad.Text = calcularEdadActual()
Catch
End Try
End Sub
0 comentarios:
Publicar un comentario
Se vale comentar.