Visual Basic - como doy formato a una hora

Life is soft - evento anual de software empresarial
 
Vista:

como doy formato a una hora

Publicado por rafael (16 intervenciones) el 24/10/2007 16:26:15
no se como darle formato a una Hora para poder restarla porque sino cuando las resto me da valor negativo
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:como doy formato a una hora

Publicado por rubens (28 intervenciones) el 24/10/2007 16:37:27
No entiendo bien tu pregunta, pero para darle formato a una fecha existe una funcion "format" y para restar fechas existe otra "DateDiff", cualquier cosa pasate por mi blog y te paso algun ejemplo. Saludos
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:como doy formato a una hora

Publicado por rafael (16 intervenciones) el 24/10/2007 18:45:23
la cosa es que tengo dos campos al que le hago una resta de horas con el datadif, pero no puedo usar hora con AM o PM ya que entonces me saca la cuenta a negativo y para que lo haga bien tengo que darle formato de hora militar
pero quiero cambiarlo a Am Y Pm y se que es con formatio de hora
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:como doy formato a una hora

Publicado por Carlos G. (1 intervención) el 28/10/2007 17:41:12
Aqui te mando como lo he resuelto yo de dos formas diferentes. La primera es la mas sencilla. Espero que sea esto lo que ibas buscando.

'ESTE ES UN MÉTODO DIRECTO PARA RESTAR HORAS

Private Sub Command1_Click()

'Vamos a restar 9:45:05 AM con 15:40:00 PM

Text1.Text = TimeSerial(9 - 15, 45 - 40, 5 - 0)

End Sub

'SEGUNDA FORMA DE HACERLO

Private Sub Command2_Click()
Dim Horas As Long
Dim Minutos As Long
Dim Segundos As Long
Dim S As Long

S = Abs(DateDiff("s", #9:45:05 AM#, #3:40:00 PM#)) 'Restamos las 2 horas y nos da el resultado en segundos "s"

Print S; " segundos"

'Pasamos los segundos a horas y nos quedamos con la parte entera
'(21295seg = 21295/3600 = 5,915277777 horas ===> 5 horas)

Horas = S \ 3600 'División sin decimales "\" (parte entera)

'Pasamos la parte decimal de las horas a minutos y nos quedamos con la parte entera
' (0,915277777 horas * 60min/hora = 54,9166666 min ===> 54minutos)

Minutos = Int((S / 3600 - Horas) * 60)

'Pasamos la parte decimal de los minutos a segundos y nos quedamos con la parte entera
'(0,91666666 min * 60 seg/min = 55 seg)

Segundos = (((S / 3600 - Horas) * 60) - Minutos) * 60

Text2.Text = Horas & " horas " & Minutos & " minutos " & Segundos & " segundos "

End Sub
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