Visual basic

Hola, soy Livy, estoy llevando un curso de Visual Basic para principiantes, quería saber si me puedes ayudar en decirme como o donde puedo buscar ejemplos de fechas en castellano.
El ejercicio es dar la fecha de nacimiento y la fecha actual, el resultado debe ser por separado la cantidad de años, meses y días que has vivido hasta el momento, la parte de los años salió perfecto con DATEDIFF, pero la de meses está medio verde y los días todavía estamos en eso.
Ojala puedas darme una salida, mil gracias por adelantado.
Livy

1 respuesta

Respuesta
1
He hecho un formulario con un textbox llamado "nacimiento" donde se entra la fecha de nacimiento. También hay un botón llamado calcular que cuando lo pulsas hace los cálculos. Los resultados se dan en tres textbox llamados dvividos (dias_vividos), mvividos (meses_vividos) y avividos (años_vividos).
Te mando a continuación la rutina de los cálculos:
Private sub calcular_Click()
Dim fecha As Date, ahora As Date
If (nacimiento.Text <> "") Then
fecha = nacimiento.Text
ahora = Now
dvividos = DateDiff("d", fecha, ahora)
If (DatePart("m", ahora) > DatePart("m", fecha)) Then
avividos.Text = DateDiff("yyyy", fecha, ahora)
ElseIf (DatePart("m", ahora) = DatePart("m", fecha)) Then
If (DatePart("d", ahora) >= DatePart("d", fecha)) Then
avividos.Text = DateDiff("yyyy", fecha, ahora)
Else
avividos.Text = DateDiff("yyyy", fecha, ahora) - 1
End If
Else
avividos.Text = DateDiff("yyyy", fecha, ahora) - 1
End If
If (DatePart("m", ahora) > DatePart("m", fecha)) Then
If (DatePart("d", ahora) >= DatePart("d", fecha)) Then
mvividos.Text = Val(avividos.Text) * 12 + DateDiff("m", fecha, ahora)
Else
mvividos.Text = Val(avividos.Text) * 12 + DateDiff("m", fecha, ahora) - 1
End If
ElseIf (DatePart("m", ahora) = DatePart("m", fecha)) Then
If (DatePart("d", ahora) >= DatePart("d", fecha)) Then
mvividos.Text = DateDiff("m", fecha, ahora)
Else
mvividos.Text = Val(avividos.Text) * 12 + DateDiff("m", fecha, ahora) - 1
End If
Else
mvividos.Text = Val(avividos.Text) * 12 + DateDiff("m", fecha, ahora) - 1
End If
End If
End Sub
Si tienes problemas para entenderlo o no hace lo que querías no dudes en escribirme.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas