![]() |
Guardar en campo time más de 24 horas
Hola:
Tengo una tabla FireBird con los campos FECHA, HORAINICIO, HORAFINAL, DURACION, TIEMPOACUMULADO. Con los campos HORAINICIO (time) y HORAFINAL(time) calculo la DURACIÓN (time) y TIEMPOACUMULADO (time). El problema está en que TIEMPOACUMULADO cuando llega a valer más de 24 no lo marca porque se ha pasado, es decir que si tengo un valor a 25 horas 10 minutos, me vUelve a empezar a marcar 1:10 que es el exceso de 24. ¿Alguna manera de poder visualizar las horas con tres dígitos?, por ejemplo para 34 horas 20 minutos que se vea 34:20, o para 124 horas y 21 minutos que se vea 124:21 ¿O alguna otra manera de solucionar esto? Un saludo. |
Si tenes TimeStampInicio y TimeStampFinal, no hace falta que almacenes el tiempo de duración, pues podes obtenerlo así:
A este campo, ya en delphi, podes implementarle el evento OnGetText para representar el tiempo transcurrido de la manera que te interesa de la siguiente manera:
Probablemente no compile.. eso ya te lo dejo a vos, pero la idea, está clara ¿no? hasta luego. ;) |
Solo crea un campo tipo char y ahi almacena tu información, hasta ahora no conozco un campo tipo date que pueda almacenar un rango mayor de 00:00 a 23:59 hrs.
|
Cita:
|
Porque no guardas los minutos transcurridos, tendras que calcular las horas y minutos al momento de presentar los datos, pero te soluciona el problema, por lo menos en parte.
Alejandro |
También podrías usar un campo FechaHora (DateTime) de esta forma te servirá si han transcurrido 25 horas o 50.
|
Hola:
Tomo nota de vuestras ideas para solucionar mi problema (anque será el año que viene, pues hago un paréntesis navideño para ver a la familia en la otra punta de la península). Gracias a todos, y Felices Navidades. Un saludo. |
La franja horaria es GMT +2. Ahora son las 02:26:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi