Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Diferencia abreviada entre dos fechas (TDatetime) (https://www.clubdelphi.com/foros/showthread.php?t=80876)

rretamar 17-07-2008 05:30:47

Diferencia abreviada entre dos fechas (TDatetime)
 
Este código permite obtener en forma resumida la diferencia entre dos variables TDatetime:

Código:

//
// Diferencia entre dos variables TDateTime
// Formato de salida: [n] a [n] m [n] d hh:dd:ss
//
// Ejemplo: 5a 4m 6d 17:09:33
//
Function Diferencia(Fecha1,Fecha2: TDateTime): String;
Var
  Dia,Mes,Anno: Word;
  Resultado: String;
  DT_Diferencia: TDateTime;
Begin
  DT_Diferencia:=Fecha1-Fecha2;
  DateDiff(DT_Diferencia,StrToDate('30/12/1899'),Dia,Mes,Anno);
  Resultado:=FormatDateTime('hh:mm:ss',Dt_Diferencia);
  If Dia > 0 Then  Resultado:=IntToStr(Dia)  +'d '  +Resultado;
  If Mes > 0 Then  Resultado:=IntToStr(Mes)  +'m ' +Resultado;
  If Anno > 0 Then Resultado:=IntToStr(Anno )+'a ' +Resultado; // (!)
  Result:=Resultado;
End;


luchifer 30-07-2008 00:28:41

La voy a probar y si funciona tiene muchas aplicaciones principalmente en proyectos como ser construcciones

gracias de antemano

ea6zs 09-09-2008 08:28:32

Estaba buscando esta solución, pero ¿funcionará si se trata de dos campos? Es decir, imaginar un form con un ttable y tres campos, uno fecha inicial, fecha final y un campo calculado para la diferencia de ambos campos. Los tipos de los dos primeros serían DateTime, ¿de que tipo sería el segundo?
saludos cordiales


La franja horaria es GMT +2. Ahora son las 17:19:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi