Hoteles en Buenos Aires

(Cerrar)
CapitalFederal.com
  HOME - CAPITALFEDERAL.COM | HOME - MANUALES DE REFERENCIA

BuscarBuscar en los backups    LoginLogin del administrador 


MANUALES DE REFERENCIA  


Registra tus clasificados Gratis en BuenosAires.com
Clasificados de Automotores | Clasificados de Computadoras

MUEBLES DE OFICINA - NUEVA GUIA DE BUENOS AIRES.COM


Calcular la diferencia entre fechas incluyendo horas, minuto
Ir a página Anterior  1, 2, 3, 4  Siguiente
 

   INICIO FOROS -> Todo sobre VISUAL BASIC en Español
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
David Ortiz
Invitado





MensajePublicado: Mie Sep 12, 2007 11:26 am    
Asunto: Re: Calcular la diferencia entre fechas incluyendo horas, mi


TEMA CERRADO

Hola Evitxu.
Esta es una función que hace algún tiempo posteó el Maestro Leonardo
Azpurua.

Public Function CalcularTiempo(Inicial As Date, Final As Date) As String
Dim Años As Integer
Dim Meses As Integer
Dim Dias As Integer
Dim Horas As Integer
Dim Minutos As Integer
Dim Segundos As Integer
If Inicial > Final Then
Mensaje "EL Inicio no puede ser Mayor que el Final" & vbNewLine &
"Fecha Inicial: " & Inicial & " - Fecha Final: " & Final, "Calculo de
Tiempo"
CalcularTiempo = ""
Else
Años = 0: Meses = 0: Dias = 0: Horas = 0: Minutos = 0: Segundos = 0
Segundos = Second(Final) - Second(Inicial)
If Segundos < 0 Then
Minutos = Minutos - 1
Segundos = Segundos + 60
End If
Minutos = Minute(Final) - Minute(Inicial) + Minutos
If Minutos < 0 Then
Horas = Horas - 1
Minutos = Minutos + 60
End If
Horas = Hour(Final) - Hour(Inicial) + Horas
If Horas < 0 Then
Dias = Dias - 1
Horas = Horas + 24
End If
Dias = Day(Final) - Day(Inicial) + Dias
If (Dias < 0) Then
Dim ultimo As Integer
ultimo = Day(DateSerial(Year(Inicial), Month(Inicial) * 1, 0))
Meses = Meses - 1
Dias = Dias + ultimo
End If
Meses = Month(Final) - Month(Inicial) + Meses
If Meses < 0 Then
Años = Años - 1
Meses = Meses + 12
End If
Años = Year(Final) - Year(Inicial) + Años
End If
CalcularTiempo = Resultado(Años, Meses, Dias, Horas, Minutos, Segundos)
End Function

Private Function Resultado(Años As Integer, Meses As Integer, Dias As
Integer, Horas As Integer, Minutos As Integer, Segundos As Integer) As
String
Resultado = Segundos & " Segundos"
If Minutos > 0 Then
Resultado = Minutos & " Minutos, " & Resultado
End If
If Horas > 0 Then
Resultado = Horas & " Horas, " & Resultado
End If
If Dias > 0 Then
Resultado = Dias & " Días, " & Resultado
End If
If Meses > 0 Then
Resultado = Meses & " Meses, " & Resultado
End If
If Años > 0 Then
Resultado = Años & " Años, " & Resultado
End If
End Function


Espero que te sea de utilidad.

Saludos,

David Ortiz
El Salvador, C.A.

"Evitxu" <evam.dominguez@gmail.com> wrote in message
news:u26%23vsT9HHA.5948@TK2MSFTNGP04.phx.gbl...
Cita:
Hola, quería saber si hay alguna función en la que dándole dos fechas
calcule la diferencia entre ambas, incluyendo horas, minutos y segundos.
Es decir, si recibiera como fecha inicial 15/09/07 10:05:00 y fecha final
17/09/07 09:00:00, que devolviera algo como:

1 día, 23 horas, 55 minutos y 0 segundos. (la diferencia la he
hecho yo, así que lo mismo está mal).

He visto que existe DateDiff, que calcula el intervalo entre dos
fechas, y GetElapsedTime, pero no la acabo de pillar el truco...

Muchas gracias y un saludo.

--
*-* Evitxu *-*
Volver arriba
Rubén Vigón
Invitado





MensajePublicado: Mie Sep 12, 2007 11:55 am    
Asunto: Re: Calcular la diferencia entre fechas incluyendo horas, mi


TEMA CERRADO

Juraría que donde dice...

ultimo = Day(DateSerial(Year(Inicial), Month(Inicial) * 1, 0))

Debería decir...

ultimo = Day(DateSerial(Year(Inicial), Month(Inicial) + 1, 0))

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Volver arriba
Leonardo Azpurua
Invitado





MensajePublicado: Mie Sep 12, 2007 12:13 pm    
Asunto: Re: Calcular la diferencia entre fechas incluyendo horas, mi


TEMA CERRADO

"Evitxu" <evam.dominguez@gmail.com> escribió en el mensaje
news:OhgmQfU9HHA.5456@TK2MSFTNGP05.phx.gbl...
Cita:
Sí, quería saber si había alguna función que lo hiciera directamente...

Como no: Dif = FechaFin - FechaInicio

Dif resulta en un valor double donde 1 = 1 dia.

Luego queda de tu parte realizar las multiplicaciones necesarias para
convertirlo a las unidades temporales que requieras.

Prefiero este metodo, mucho mas eficiente, que usar DateDiff.

Salud!
Volver arriba
Mostrar mensajes de anteriores:   
Este foro está cerrado y no podés publicar, responder o editar temas   Este tema está cerrado y no podés editar mensajes o responder    INICIO FOROS -> Todo sobre VISUAL BASIC en Español Todas las horas son GMT - 3 Horas
Ir a página Anterior  1, 2, 3, 4  Siguiente
Página 2 de 4

 
Cambiar a:  
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro


Powered by phpBB © 2001, 2005 phpBB Group


Todos los mensajes aquí publicados, son extraídos de la USENET