Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/04/2015, 22:03
TecZr
 
Fecha de Ingreso: abril-2015
Mensajes: 3
Antigüedad: 9 años, 10 meses
Puntos: 0
Pregunta Calcular edad en años, meses o días con DateTimePicker?

Buenas,

tengo una pregunta respecto a como calcular edad.

En mi formulario de clientes, necesito especificar la edad de una persona, comparando la fecha ingresada en un DateTimePicker con la fecha actual, ya sea en años, meses o días de nacida y lo muestro en un label...

Tengo este código:
Código vb:
Ver original
  1. 'calcular edad  ingresando datos en date time picker
  2.            If DateDiff(DateInterval.Day, datetimepickerFechaNacimiento.Value, Now.Date) < 30 Then
  3.                 lblEdad.Visible = True
  4.                 lblEdad.Text = (DateDiff(DateInterval.Day, datetimepickerFechaNacimiento.Value, Now.Date)) & " día/s"
  5.  
  6.             ElseIf 29 < DateDiff(DateInterval.Month, datetimepickerFechaNacimiento.Value, Now.Date) < 365 Then
  7.                 lblEdad.Visible = True
  8.                 lblEdad.Text = (DateDiff(DateInterval.Month, datetimepickerFechaNacimiento.Value, Now.Date)) & " mes/es"
  9.  
  10.             ElseIf DateDiff(DateInterval.Year, datetimepickerFechaNacimiento.Value, Now.Date) > 365 Then
  11.                 lblEdad.Visible = True
  12.                 lblEdad.Text = (DateDiff(DateInterval.Year, datetimepickerFechaNacimiento.Value, Now.Date)) & " año/s"
  13.             End If

El detalle es que solo me muestra los días de nacido, o si son mas de 30 días me muestra 1 mes, 2 meses, 3 meses... Hasta aquí todo va bien. Después de 12 meses, el primero año me lo muestra como 12 meses, 2 años como 24 meses, 3 años como 36 meses...

¿Qué hago o qué tengo que modificar en el código para que me muestre 1 año, 2 años, 3 años, etc, después del mes 12?

Gracias por adelantado!

Última edición por TecZr; 22/04/2015 a las 23:36