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. Los campos obligatorios están marcados con *

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