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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ¿Como restas 02 horas ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como restas 02 horas ?  (Leído 1,644 veces)
TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
¿Como restas 02 horas ?
« en: 11 Noviembre 2005, 12:41 pm »

Hola amigos. aqui nuevamente

Estoy liado con restar dos tiempos no fechas please

Me explico:

Hora actual   4:55:01 pm
Hora restada 9:55:01 am

Pues siendo las 4:55:01 pm como lo hago para restarle 7 horas y que me de resultado de 9:55:01 AM

He intentado usando mid()

es decir seprandolas texto por texto_
y simplemnete restarle al primero.

Es obvio que se puede hacer restando cada carater segun vaya cambiado el tiempo y con un timer actualizando los segundos, minutos y la hora.

Pero para no liarme primero decidi preguntaar a vods. que si existe alguna funcion que me permita hacer directamente eso:
algo asi como las fechas:  (fecha())-(fecha()-7)

Si no hay funcion alguna pues nada...

Gracias de antemano.
Pedro Jeri


En línea

Xpeed


Desconectado Desconectado

Mensajes: 472


Res Publica Non Dominetur


Ver Perfil
Re: ¿Como restas 02 horas ?
« Respuesta #1 en: 11 Noviembre 2005, 16:54 pm »

bueeno mira, la verdad se me ocurre esto de manera manual, no sé si haya una sentencia que lo simplifique... mira con la sentencia Timer obtienes lo segundos transcurridos desde media noche... pues buee partiendo de eso le restas las 7 horas que si mal no calculo serán algo así como 25200 segundos, pues le restamos ese valor a el tiempo transcurrido y conviertes lo que quede en formato de hora dividiendo por 3600 para las horas y por 60 para los minutos ... bueno, ahora lo que pienso que daria problema sería cuando lo hagamos por ejemplo ala 1:00 am por ejemplo, nos daria como resultado un número negativo y del dia anterior así que pues a poner tambien que si es negativo habria que hacer algun tipo de conversión... bueno la idea es esa xD ahora más tarde intento algo para ver si sale..


un saludo.


En línea

MaLkAvIaN_NeT

Desconectado Desconectado

Mensajes: 213


MaLkAvIaN_NeT


Ver Perfil WWW
Re: ¿Como restas 02 horas ?
« Respuesta #2 en: 12 Noviembre 2005, 02:20 am »

..Bien no se si es lo que este buscando pero éste codigo lo emplee al controlar un reloj.

Citar
Private Hora As String
Private Minuto As String
Private Segundo As String
Private mvarTiempo As String
Public Event TiempoAgotado()

Public Property Let Tiempo(ByVal vData As String)
    mvarTiempo = vData
End Property
Public Property Get Tiempo() As String
    Tiempo = mvarTiempo
End Property

Public Sub DesglosaTiempo(Horex As String)
Hora = ""
Minuto = ""
Segundo = ""
For I = 1 To Len(Horex)

    If Mid$(Horex, I, 1) = ":" Then
        For j = I + 1 To Len(Horex)
           
             If Mid$(Horex, j, 1) = ":" Then
                    For h = j + 1 To Len(Horex)
                        Segundo = Segundo + Mid$(Horex, h, 1)
                        If h = Len(Horex) Then Exit Sub
                    Next
           
                Else
                Minuto = Minuto + Mid$(Horex, j, 1)
             End If
        Next
    Else
    Hora = Hora + Mid$(Horex, I, 1)
    End If
Next
'(Format(Me.DTPicker2, "hh:mm:ss AMPM"))
'Me.CommonDialog1.ShowColor
End Sub

Public Function StarTiempo(Aumento As Boolean) As String
Call DesglosaTiempo(Tiempo)
If Aumento = True Then ' es decir si va en aumento

ElseIf Aumento = False Then 'aca para empezar el reloj del cliente

If Val(Segundo) = 0 Then
Segundo = 59
    If Minuto = 0 Then
        Minuto = 59
            If Hora >= 0 Then
                Hora = Val(Hora) - 1
            End If
    Else
        Minuto = Val(Minuto) - 1
    End If
Else
Segundo = Val(Segundo) - 1
End If
   
    If Val(Hora) = 0 And Val(Minuto) = 0 And Val(Segundo) = 0 Then
        RaiseEvent TiempoAgotado
    End If
 If Len(Hora) = 1 Then Hora = "0" + Trim$(Hora)
 If Len(Minuto) = 1 Then Minuto = "0" + Trim$(Minuto)
 If Len(Segundo) = 1 Then Segundo = "0" + Trim$(Segundo)
        StarTiempo = Trim$(Hora) + ":" + Trim(Minuto) + ":" + Trim(Segundo)
End If
End Function

Public Function ObtieneFinTiempo(Inicio As String, t_Tiempo As String) As String
Dim HInicio As String, HTiempo As String, HFin As String, Minicio As String, Mtiempo As String, Mfin As String
Call Me.DesglosaTiempo(Inicio)
HInicio = Hora
Minicio = Minuto
Call Me.DesglosaTiempo(t_Tiempo)
HTiempo = Hora
Mtiempo = Minuto

HFin = Str(Val(HInicio) + Val(HTiempo))
Mfin = Str(Val(Minicio) + Val(Mtiempo))

While Val(Mfin) > 59
    If Val(Mfin) > 59 Then
        Mfin = Str(Val(Mfin) - 59)
        HFin = Str(Val(HFin) + 1)
    End If
Wend

ObtieneFinTiempo = Trim(HFin) + ":" + Trim(Mfin) + ":00"
End Function
En línea

a por las buenas ideas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
BUG Youtube, videos de 10 horas, y 500 horas... ¿Como? « 1 2 »
Dudas Generales
SuperDraco 18 25,073 Último mensaje 20 Julio 2011, 22:20 pm
por <<J.R>>
[BATCH] CALC: Sumas y restas con decimales
Scripting
Binary_Death 5 4,551 Último mensaje 24 Julio 2012, 22:32 pm
por AgnesBlack
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines