Segundos en horas, minutos y segundos en Visual Basic 6 (vb6)

Bienvenidos a VerTutoriales.com, en esta ocasión vamos a ver una función a la que se le pasan segundos y lo convierte en un formato de horas, minutos y segundos.

La operación veremos que es muy sencilla y utilizaremos la función mod() que nos devuelve el resto de un número, de esta manera podremos seguir desglosando tanto como queramos, en nuestro caso, en horas, minutos y segundos.

Veamos la función y pasamos más adelante a explicarla:

Function FormatoMinutos(segundos) As String

Dim aHoras As Integer

Dim aMinutos As Integer

Dim aSegundos As Integer

aHoras = segundos / 3600

aMinutos = (segundos Mod 3600) / 60

aSegundos = ((segundos Mod 3600) Mod 60)
FormatoMinutos = Right$(«0» & aHoras, 2) & «:» & Right$(«0» & aMinutos, 2) & «:» & Right$(«0» & aSegundos, 2)    End

Function

 

Como podéis ver, la función recibe un parámetro segundos, que es el total de segundos que queremos desglosar en horas y minutos, a continuación simplemente dividimos los segundos en 3600 (que son los segundos de una hora) de esta manera obtenemos las horas, más adelante tomamos el resto de 3600 y partimos denuevo en 60, para conseguir los minutos, y una tercera vez, para conseguir los segundos restantes.

Luego simplemente le damos formato, yo he optado por dar formato «00:00:00» aunque podéis poner el que queráis, es más podéis utilizar la función format() para designar un formato y que os lo devuelva en formato date/time.

Espero que os sirva!

Un saludo!

Carlos Dk

Apasionado por la enseñanza y el SEO

6 comentarios en “Segundos en horas, minutos y segundos en Visual Basic 6 (vb6)

  • el 22 abril, 2013 a las 11:38 pm
    Permalink

    Nos nos sirvio de nada… deberian tomar en cuenta el programa Visual Studio 2010 C++

    Respuesta
    • el 23 abril, 2013 a las 7:52 am
      Permalink

      Siento que no os diera una solución, aunque con unos mínimos conocimientos de programación no resultaría difícil pasarlo a .net o cualquier otro lenguaje.

      Es solo un par de operaciones y una concatenación 🙂

      Respuesta
  • el 25 mayo, 2016 a las 3:17 pm
    Permalink

    Cuando tengo una hora con variación en segundos calcula mal los minutos es decir 09:03:20 a.m. y 09:03:53 a.m. tiene una variación de 33 segundos, la función arroja 00:01:33, qué está mal??

    Respuesta
    • el 25 mayo, 2016 a las 4:19 pm
      Permalink

      ¿Qué valor le estás pasando? La función recibe segundos y devuelve el string montado en ese formato. Si te devuelve 1:33 es por que realmente hay 93 segundos, o así entiendo.
      Un saludo!

      Respuesta
  • el 20 enero, 2022 a las 3:55 pm
    Permalink

    Creo que no es del todo correcta, prueba con esta corrección:

    ‘Convertir segundos a minutos
    Function secondsToMinutes(segundos) As String
    Dim aHoras As Integer
    Dim aMinutos As Integer
    Dim aSegundos As Integer

    aHoras = Int(segundos / 3600)
    aMinutos = Int((segundos – aHoHoras * 3600) / 60)
    aSegundos = (segundos – aHoHoras * 3600) Mod 60
    secondsToMinutes = Right$(«0» & aHoras, 2) & «:» & Right$(«0» & aMinutos, 2) & «:» & Right$(«0» & aSegundos, 2)
    End Function

    Respuesta
    • el 12 abril, 2022 a las 11:39 am
      Permalink

      Gracias por el aporte, pero creo que está errada la variable aHoHoras no está en ningún sitio no? 🙂
      De todas maneras el que venga y copie que pruebe.

      Gracias!

      Respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.