¿Cómo puedo calcular la diferencia entre dos variables de tiempo en Visual Basic?

Alguien me podría decir como calculo la diferencia entre 2 tiempos, es decir si mi tiempo inicial es 10:30, y el final es 11:45 me de como resultado 01:15

1 respuesta

Respuesta
Yo probaría a crearme un tipo de datos que contenga horas y minutos por separado... de tal forma que pueda restar minutos por separado y horas por separado. Debes tener en cuenta al restar que el calculo no es centesimal sino sexagesimal, esto es, termina en 60 en vez de en 100.
--------- EJEMPLO --------
'Este ejemplo suma horas, solo falta que tú lo modifiques para que reste. ok??
Type Hora
HH As Integer
MM As Integer
End Type
sub SumaHoras(Hora1 as string, Hora2 as string )
Dim HorasTotales As Integer
Dim MinutosTotales As Integer
Dim HoraA As Hora
Dim HoraB As Hora
HoraA.HH = Int(Mid$(Hora1, 1, InStr(1, Hora1, ":") - 1))
HoraA.MM = Int(Mid$(Hora1, InStr(1, Hora1, ":") + 1, 2))
HoraB.HH = Int(Mid$(Hora2, 1, InStr(1, Hora2, ":") - 1))
HoraB.MM = Int(Mid$(Hora2, InStr(1, Hora2, ":") + 1, 2))
HorasTotales = HoraA.HH + HoraB.HH
MinutosTotales = HoraA.MM + HoraB.MM
If MinutosTotales >= 60 Then
HorasTotales = HorasTotales + Int(MinutosTotales / 60)
MinutosTotales = MinutosTotales Mod 60
End If
SumaHoras = Format$(HorasTotales, "00") & ":" & Format$(MinutosTotales, "00")
End Function
Si ves que te resulta muy complicado, no te preocupes, ¿me lo dices y te lo modifico yo ok? Pero la idea ya la tienes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas