elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  problema con fechas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con fechas  (Leído 1,506 veces)
Mr.Chispa

Desconectado Desconectado

Mensajes: 269



Ver Perfil
problema con fechas
« en: 9 Septiembre 2006, 05:15 am »

hola:
tengo el siguiente problema, tengo una variable q guarda la cantidad de segundos q tarda x cosa, necesito saber a cuantas horas, minutos y segundos equivale eso.
ej: tengo la variable a=130 q equivale a decir 0:2:10 pero cuando le tiro a=102000 q equivale a decir 28:21:18.
cuando lo quiero pasar con cdate me tira error.
¿que puedo hacer? :huh:


En línea

karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: problema con fechas
« Respuesta #1 en: 9 Septiembre 2006, 16:35 pm »

Te paso un código que hice en un programa mío muy sencillo.
Te lo paso con a = 102000 segundos.

Por cierto tu respuesta: 102000 -> 28 h. 21 min. 18 seg. es incorrecta. El resultado es 28 horas con 20 minutos ya que:
28 h. * 3600 = 100800 segundos
20 min. * 60 =    1200 segundos
Sumando: 100800 + 1200 = 102000 segundos.

Pon solamente un textbox en un formulario para que veas el resultado. El código es el siguiente:


Código:
Private Sub Form_Load()
  Dim a As Long
  a = 102000 'El tiempo para Convertir_tiempo en segundos.!
  Text1.Text = Convertir_tiempo(a)
End Sub

Public Function Convertir_tiempo(ByRef duracion As Long) As String

        Dim Tmp As Long
        Dim Horas As Long
        Dim Minutos As Long
        Dim Segundos As Long

        On Error Resume Next

        Tmp = duracion

        Horas = Int(Tmp / 3600)
        Tmp = Tmp - (Horas * 3600)

        Minutos = Int(Tmp / 60)
        Tmp = Tmp - (Minutos * 60)

        Segundos = Tmp

        Convertir_tiempo = ""
        If Horas > 0 Then Convertir_tiempo = Format(Horas, "00") & ":"
        Convertir_tiempo = Convertir_tiempo & Format(Fix(Minutos), "00") & ":"
        Convertir_tiempo = Convertir_tiempo & Format(Fix(Segundos), "00")

    End Function



En línea

Mr.Chispa

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Re: problema con fechas
« Respuesta #2 en: 10 Septiembre 2006, 00:15 am »

ya lo pude resolver, de la forma bruta pero funciona, el problema era q cuando le queria suma a la hora actual "28:20:00" me tiraba error. lo q hize fue eso:
Código:
Private Sub Form_Load()
    Dim a As Long
    a = 102000 'El tiempo para Convertir_tiempo en segundos.!
    ahora = Now
    For i = 1 To a
        ahora = ahora + CDate("00:00:01")
    Next
    Text1.Text = ahora
End Sub
saludos y gracias por la ayuda  ;D
En línea

Mr.Chispa

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Re: problema con fechas
« Respuesta #3 en: 10 Septiembre 2006, 00:17 am »

PD: tarda un poco en hacerlo pero si conoces alguna forma mejor decime  ;)
En línea

karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: problema con fechas
« Respuesta #4 en: 10 Septiembre 2006, 09:36 am »

Mira, a ver si te entiendo esto último.. intentas sumas a la fecha actual los 102000 segundos no??

Eso que haces de ese modo es bastante feo.

Si quieres añadir a una fecha un número determinado de segundos, por ej. en este caso 102000, lo puedes hacer muchísimo más sencillo de esta forma:
Código:
Private Sub Form_Load()
    Dim a As Double
    'Le pongo double porque en la definición de DateAdd:
    'DateAdd (Interval as String, Number as Double, Date)
    a = 102000 'segundos

    'Ahora a la fecha actual le sumo los 102000 segundos:
    Text1.Text = DateAdd("s", a, Now)

End Sub

Si quieres más información sobre DateAdd, MSDN:
http://msdn2.microsoft.com/es-es/library/hcxe65wz.aspx
En línea

Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: problema con fechas
« Respuesta #5 en: 10 Septiembre 2006, 12:44 pm »

yo nose si kieres sumarle a la fecha actual x segundos (para eso hay una función especiquica) o quieres simplemente convertir x segundos a horas minutos segs... eso se hace asi mismamente...

Código:
const SEGUNDOS_HORA=3600
const SEGUNDOS_MINUTO=60

dim a as long   
dim horas as integer
dim minutos as integer
dim segundos as integer

....
'aki puedes crearte una función que devuelva el valor  del finaly  listo
a=total segundos
'sacamos las horas
horas=a / SEGUNDOS_HORA
a=a MOD horas
'sacamos los minutos
minutos=a/SEGUNDOS_MINUTO
a=a MOD minutos
'sacamos los segundos
segundos=a

text1.text=format(horas,"00") & format(minutos,"00") & format(segundos,"00")

« Última modificación: 10 Septiembre 2006, 12:47 pm por Hans el Topo » En línea

Mr.Chispa

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Re: problema con fechas
« Respuesta #6 en: 11 Septiembre 2006, 14:00 pm »

DateAdd es lo q necesitaba ;D.
ya se, es algo medio raro lo q quiero hacer, gracias por la ayuda
saludos
« Última modificación: 11 Septiembre 2006, 14:08 pm por Mr.Chispa » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema calendario seleccion fechas
Desarrollo Web
painkillerpucela 3 2,890 Último mensaje 19 Julio 2012, 12:40 pm
por sexto
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines