Ver Mensaje Individual
  #4  
Antiguo 28-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Directamente trabaja con las rutinas que tienes en la unidad DateUtils de Delphi.

Al menos en delphi 6 tienes:
Código Delphi [-]
HoursBetween(AThen, ANow:TdateTime);
SecondsBetween(AThen, ANow:TdateTime);
MinutesBetween(AThen, ANow:TdateTime);
MillisecondsBetween(AThen, ANow:TdateTime);
DaysBetween(AThen, ANow:TdateTime);
y un largo etc.

Básicamente lo pasas todo a segundos o milisegundos, algo así:
Código Delphi [-]
function HorasEntre(Antes, Ahora:TdateTime):string;
var totalSegword;
begin
  totalSeg := secondsBetween(antes,ahora);
  result := format ('%d : %d :%d', 
                [totalseg div (3600),
                totalseg div (60),
                totalseg mod (60)]);
end;
He separado el carácter 2 puntos, porque creo recordar que interfiere con la función format, ya sería cosa de mirarlo con más detalle.

Consejo: Nunca trabajes con Times, siempre con TdateTime, (por lo que comentas del cambio de fecha).

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita