Autor
|
Tema: restas horas (Leído 2,650 veces)
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
bueno es eso como hago para restar horas ejm: tengo estas dos horas: 10:20:33 y esta otra 12:30:59 necesito que me de la diferencia. normalmente esto da 2:10:26 pero como hacerlo en visual. he buscado mucho pero solo encunetor restar fechas con la funcion datediff. alguien sabe? de ante mano le agradezco la ayuda.
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
CeLaYa
Desconectado
Mensajes: 543
|
checa en la ayuda del visual la función DateDiff
Devuelve un valor de tipo Variant (Long) que especifica el número de intervalos de tiempo entre dos fechas determinadas.
Sintaxis
DateDiff(intervalo, fecha1, fecha2[, primerdíasemana[, primerasemanaaño]])
La sintaxis de la función DateDiff consta de los siguientesargumentos con nombre:
Parte Descripción Intervalo Requerido.Expresión de tipo cadena con el intervalo de tiempo utilizado para calcular la diferencia entre fecha1 y fecha2. Fecha1, fecha2 Requerido; Variant (Date). Las dos fechas que se van a utilizar en el cálculo. Primerdíasemana Opcional.Constante que especifica el primer día de la semana. Si no se especifica, se asume que es el domingo. Primerasemanaaño Opcional. Constante, que especifica la primera semana del año. Si no se especifica, se asume que es aquélla en la que se encuentre el 1 de enero.
Valores
Elargumento intervalo toma los valores siguientes:
Intervalo Descripción yyyy Año q Trimestre m Mes y Día del año d Día w Día de la semana ww Semana h Hora n Minuto s Segundo
El argumento primerdíasemana toma los siguientes valores:
Constante Valor Descripción vbUseSystem 0 Utilice la configuración de la API de NLS. vbSunday 1 Domingo (predeterminado) vbMonday 2 Lunes vbTuesday 3 Martes vbWednesday 4 Miércoles vbThursday 5 Jueves vbFriday 6 Viernes vbSaturday 7 Sábado
Constante Valor Descripción vbUseSystem 0 Utilice la configuración de la API de NLS. vbFirstJan1 1 Empieza con la semana en la que se encuentra el 1 de enero (predeterminado). vbFirstFourDays 2 Empieza con la primera semana que tenga al menos cuatro días en el nuevo año. vbFirstFullWeek 3 Empieza con la primera semana que esté completamente incluida en el nuevo año.
Comentarios
Puede utilizar la función DateDiff para determinar el número de intervalos especificados que existen entre dos fechas. Por ejemplo, con DateDiff podría calcular el número de días entre dos fechas o el número de semanas entre hoy y el final del año.
Si desea saber el número de días entre fecha1 y fecha2, puede utilizar Día del año ("y") o Día ("d"). Cuando intervalo es Día de la semana ("w"), DateDiff devuelve el número de semanas entre las dos fechas. Si fecha1 es lunes, DateDiff contará el número de lunes hasta fecha2. En la cuenta incluirá fecha2, pero no fecha1. Si intervalo es Semana ("ww"), la función DateDiff devolverá el número de semanas entre las dos fechas. En este caso contará el número de domingos entre fecha1 y fecha2. DateDiff contará fecha2 si es domingo, pero no fecha1, aunque sea domingo.
Si fecha1 se refiere a un momento posterior en el tiempo a fecha2, la función DateDiff devolverá un número negativo.
El argumento primerdíasemana afecta a los cálculos que utilizan "w" y "ww" como símbolos de intervalo.
Si fecha1 o fecha2 es unliteral de fecha, el año, si se especifica, pasará a ser una parte permanente de la fecha. Sin embargo, si fecha1 o fecha2 está comprendida entre comillas dobles ("") y se omite el año, se insertará el año en curso en el código cada vez que se evalúe la expresión fecha1 o fecha2. Así es posible escribir código que se pueda usar en años distintos.
Cuando compara el 31 de diciembre con el 1 de enero del año siguiente, DateDiff para un año ("yyyy") devolverá 1 aunque sólo haya pasado un día.
|
|
|
En línea
|
"La soledad es el elemento de los grandes talentos". Cristina de Suecia (1626-1689) Reina de Suecia.
|
|
|
ReViJa
|
Lo que dice Celaya es correcto, pero si lo que quieres hacer no es muy complicado puedes usar la funcion TimeValue. Crea tres campos de texto y lo pruebas. Text3.Text = Format((TimeValue(Text2.Text) - TimeValue(Text1.Text)), "hh:mm:ss")
|
|
|
En línea
|
|
|
|
CeLaYa
Desconectado
Mensajes: 543
|
creo que eso esta más fácil mi idea era la siguiente: Dim segundos@, minutos@, Horas@ Dim hora1 As Date, hora2 As Date
hora1 = #1:00:00 AM#
hora2 = #9:54:56 AM# Horas = DateDiff("h", hora1, hora2) minutos = DateDiff("n", hora1, hora2) - (Horas * 60) segundos = DateDiff("s", hora1, hora2) - ((Horas * 60 + minutos) * 60) MsgBox Horas & ":" & minutos & ":" & segundos
|
|
|
En línea
|
"La soledad es el elemento de los grandes talentos". Cristina de Suecia (1626-1689) Reina de Suecia.
|
|
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
Tesis y CeLaYa sus acotaciones estan muy buenas, les agradezco a los dos por su ayuda.... msaske todo a CeLaYa por que simepre me esta colaborando en los post que publico... gracias.
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
|
|