Resumen Convertir segundos en HH:MM:SS

Mensaje enviado por Quintero Rojas Daniel <dquintero@meximed.com>

Convertir un número a horas, minutos y segundos

Autor: Daniel Quintero Rojas

Supón que estás escribiendo un programa donde tienes que cronometrar un evento y lo que tienes como resultado es un valor que representa los segundos que ha durado la ejecución de dicho evento.
¿Cómo convertir los segundos a horas, minutos y segundos para desplegar el resultado al usuario?
El operador Mod de Visual Basic puede hacer este proceso por ti.

El operador Mod divide dos números, pero regresa solo el remanente. Si tomas el número 3821 (que representan los segundos que han pasado) y los quieres convertir a horas,
minutos y segundos, divides 3821 entre 60 (60 segundos por minuto). El resultado va a ser 63. Entonces, si vuelves a dividir el valor original, pero esta vez con Mod, vas a obtener 41, que es el remanente. Esto convierte 3821 en 63 minutos con 41 segundos. Y si le aplicas la misma fórmula a los minutos, vas a obtener 1 hora con 3 minutos
(63 / 60 = 1 y 63 Mod 60 = 3).

Por lo que, resumiendo esta explicación, puede quedar una función de la siguiente manera:

'------------------------------------------------------------------------
'
' Procedimiento: HorasMinutosSegundos
' Autor: Daniel Quintero [dqrsoftware@gmx.net]
' Fecha: 27/Ago/2001
' Propósito: Devuelve la conversión a horas, minutos y segundos de
' un determinado número de segundos
' Resultado: String
' Parámetros de entrada:
' lSegundos - Número de segundos
'
'------------------------------------------------------------------------
Public Function HorasMinutosSegundos(lSegundos As Long) As String

   On Error GoTo ErrorHandler

   HorasMinutosSegundos = Format$(CInt(CInt(lSegundos / 60) / 60), "00") & ":" & _
                          Format$(CStr(Int(lSegundos / 60) Mod 60), "00") & ":" & _
                          Format$(CStr(lSegundos Mod 60), "00")

   On Error GoTo 0
   Exit Function

ErrorHandler:
   HorasMinutosSegundos = "00:00:00"
   On Error GoTo 0
End Function


Lic. Daniel Quintero Rojas
Tel. Oficina (Meximed): (52) 5448-6700 Ext. 6913
E-mail: dquintero@meximed.com
     dqrsoftware@gmx.net
     dqrsoftware@hotmail.com
Página web: http://orbita.starmedia.com/~dqrsoftware
¡SALUDOS DESDE MÉXICO!



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com