Visual Basic - DIFERENCIA ENTRE 2 HORAS

Life is soft - evento anual de software empresarial
   
Vista:

DIFERENCIA ENTRE 2 HORAS

Publicado por RODRIGO SALAZAR (9 intervenciones) el 11/04/2009 23:05:14
HOLA YO NUEVAMENTE, LOGRE SACAR LA DIFERENCIA ENTRE DOS HORAS
TODO BIEN HASTA QUE TENGO QUE RESTAR POR EJEMPLO DE 23:00 A 00:30
ES DONDE ME TIRA UN ERROR. ME EXPLICO MEJOR , SI LA HORA 1 ES MAYOR A LA HORA 2 EL RESULATADO ES ERRONEO O BIEN ME ARROJA ERROR
ESTE ES EL CODIGO KE ESTOY OCUPANDO.

(DOS CAJAS DE TEXTO DONDE DIGITO LAS HORAS Y UN LABEL DONDE MUESTRO LA DIFENCIA)


Dim totsegs As Long
Dim h As Integer
Dim m As Integer
Dim s As Integer

totsegs = DateDiff("S", Text1, Text2)
h = totsegs 3600
totsegs = totsegs - (h * 3600)
m = totsegs 60
s = totsegs Mod 60
Label1 = Format(h) & ":" & Format(m, "00") & ":" & Format(s, "00")
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DIFERENCIA ENTRE 2 HORAS

Publicado por P3L30N2009 (701 intervenciones) el 12/04/2009 09:52:05
Depende de lo que quieras:

Si no quieres sacar la diferencia en negativo, una simple comparación:
1
2
3
4
If Text1 > Text2 Then
    MsgBox "la hora inicial no puede ser superior"
    Exit Sub
End If

Si quieres sacar la diferencia en negativo, conviertes los segundos a positivo y le pones el signo menos delante:
1
2
3
4
5
6
7
8
9
10
11
totsegs = DateDiff("S", Text1, Text2)
Label1 = ""
If totsegs < 0 Then
totsegs = totsegs * -1
Label1 = "- "
End If
h = totsegs \ 3600
totsegs = totsegs - (h * 3600)
m = totsegs \ 60
s = totsegs Mod 60
Label1 = Label1 & Format(h) & ":" & Format(m, "00") & ":" & Format(s, "00")

Otra cosa es que las horas sean de días dferentes. Entonces para que haga bien el cálculo tendrías que escribir en ambos TextBox la fecha y la hora en formato "dd/mm/yyy hh:MM:ss".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DIFERENCIA ENTRE 2 HORAS

Publicado por Pedro Luis (878 intervenciones) el 13/04/2009 14:26:13
Creo que te complicas mucho la vida. Mi solución sería la siguiente
Horas=(cdate(texto1)-cdate(texto2))*24
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DIFERENCIA ENTRE 2 HORAS

Publicado por P3L30N2009 (701 intervenciones) el 13/04/2009 15:05:40
Creo que no has leido bien la pregunta.

No está pidiendo las horas en decimal, sino en formato horas:minutos:segundos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DIFERENCIA ENTRE 2 HORAS

Publicado por Pedro Luis (878 intervenciones) el 14/04/2009 09:29:27
Bueno, vale, de acuerdo, corrijo

Horas=format((cdate(texto1)-cdate(texto2)),"hh:mm:ss")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:DIFERENCIA ENTRE 2 HORAS

Publicado por P3L30N2009 (701 intervenciones) el 14/04/2009 11:43:52
Muy bueno!

Nunca se me hubiera ocurrido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DIFERENCIA ENTRE 2 HORAS

Publicado por Mandingo (1 intervención) el 09/01/2014 13:19:15
Muy buenooooo!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar