Restando horas
Publicado por Rodolfo (12 intervenciones) el 02/06/2003 21:57:23
Tengo un problema.
Hace un tiempo publicaron en la lista una forma de poder hacer sumas y restas con las horas:
h1:=StrToDateTime(Table1.FieldByName('hora_i').AsString); { hora de inicio }
h2:=StrToDateTime(Table1.FieldByName('hora_f').AsString); { hora final }
h3:=h2-h1; { hora de Salida menos hora de Ingreso } { horas trabajadas }
horas:=Trunc(h3*24);
minutos:=Round(h3*1440)-horas*60;
tiempo:=Format('%.2d:%2.2d',[horas,minutos]);
En los 6 registros que uso como prueba, me sale bien en 5 de ellos, pero en uno siempre me da el siguiente error:
HORA_I: 08:30
HORA_F: 17:30
HORA_TRAB: 08:60
Lo que no entiendo es porque me sale 8 horas 60 minutos, en vez de salirme simplemente 09:00
Que puedo estar haciendo mal?
Los calculos son registrados en una tabla. La tabla es de DBase, asi que no tengo campo tipo fecha, lo estoy poniendo en un campo tipo string.
Muchas Gracias.
Hace un tiempo publicaron en la lista una forma de poder hacer sumas y restas con las horas:
h1:=StrToDateTime(Table1.FieldByName('hora_i').AsString); { hora de inicio }
h2:=StrToDateTime(Table1.FieldByName('hora_f').AsString); { hora final }
h3:=h2-h1; { hora de Salida menos hora de Ingreso } { horas trabajadas }
horas:=Trunc(h3*24);
minutos:=Round(h3*1440)-horas*60;
tiempo:=Format('%.2d:%2.2d',[horas,minutos]);
En los 6 registros que uso como prueba, me sale bien en 5 de ellos, pero en uno siempre me da el siguiente error:
HORA_I: 08:30
HORA_F: 17:30
HORA_TRAB: 08:60
Lo que no entiendo es porque me sale 8 horas 60 minutos, en vez de salirme simplemente 09:00
Que puedo estar haciendo mal?
Los calculos son registrados en una tabla. La tabla es de DBase, asi que no tengo campo tipo fecha, lo estoy poniendo en un campo tipo string.
Muchas Gracias.
Valora esta pregunta


0