Calculo de hora de entrada y salida


([N2] rubenxr.yahoo) #1

Buenas a todos, como puedo hacer para calcular la hora de entrada y salida, tengo creado campo hora entrada (tipo hora) y otro campo hora salida (tipo hora), luego he creado otro campo Tiempo para que me guarde las horas realizadas, ahora viene el problema como le digo al campo tiempo que me calcule la diferencia entre la hora de entrada y la hora de salida?.
gracias.


([N4] rpaton) #2

Hola: Haz los cálculos en segundos.

SecondsTo(datetimedesdes,datetimehasta)

Y luego pasa a horas.

Saludos

Ricardo Patón


([N1] pinpez) #3

https://velneo.es/foros/topic/diferencia-de-horas-para-sistema-de-motel/

https://velneo.es/foros/topic/diferencia-entre-fechas/


([N1] pinpez) #4

https://doc.velneo.es/funciones-de-tiempo.html
https://velneo.es/en-la-direccion-del-tiempo/


([N2] rubenxr.yahoo) #5

mil gracias Ricardo Patón


([N4] Infortic) #6

Hola.

El problema de usar un campo TIEMPO para calcular la diferencia de horas es a partir de qué fecha empiezas a contar.

Un campo tiempo es dd/MM/yyyy hh:mm:ss

Si has tardado 3 horas por ejemlo, podrías codificar 01/01/2000 03:00:00

No sé si es lo más adecuado… yo guardaría la diferencia en ms (o en segundos según para lo que sea) y ya haría los cálculos cuando quisiera representarlo multiplicando, dividiendo o usando las función addMSecondsToDateTime y addMSecondsToHour.

Campo #MS_REALIZADOS (NUMERICO o FORMULA NUMERICA)
Contenido inicial (o formula): mSecondsTo(setDateTime( setDate(2000, 1, 1) , #HORA_INICIO ), setDateTime( setDate(2000, 1, 1) , #HORA_FIN ))

A partir de ahí te puedes crear campos fórmula para pasar de ms a lo que necesites.

De todas formas, para tus campos sería algo así (no lo he probado):

#HORA_INICIO (Hora)
#HORA_FIN (Hora)
#HORAS_REALIZADAS (Formula Tiempo)

Fórmula #HORAS_REALIZADAS:

addSecondsToDateTime( setDateTime(setDate(2000, 1, 1) , setTime(0, 0, 0) ),
secondsTo( setDateTime( setDate(2000, 1, 1) , #HORA_INICIO ) , setDateTime( setDate(2000, 1, 1) , #HORA_FIN ) ) )

)

Así se usaría como base el 1/1/2000.


([N1] pinpez) #7

[quote quote=50711]Hola: Haz los cálculos en segundos.

SecondsTo(datetimedesdes,datetimehasta)

Y luego pasa a horas.

Saludos

Ricardo Patón

[/quote]

[quote quote=50711]Hola: Haz los cálculos en segundos.

me ha surgido la duda.

¿cómo se pasa del tipo segundos al tipo hora?

SecondsTo(datetimedesdes,datetimehasta)

Y luego pasa a horas.

Saludos

Ricardo Patón

[/quote]


([N1] pinpez) #8

me ha surgido la duda.

¿cómo se pasa del tipo segundos al tipo hora?


([N1] pinpez) #9

creo que ya lo tengo. He utilizado diferentes funciones:

https://doc.velneo.es/funciones-de-tiempo.html
https://doc.velneo.es/funciones-de-horas.html
https://doc.velneo.es/funciones-de-fechas.html