PDA

Ver la Versión Completa : Diferencia abreviada entre dos fechas (TDatetime)


rretamar
17-07-2008, 04:30:47
Este código permite obtener en forma resumida la diferencia entre dos variables TDatetime:


//
// 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
29-07-2008, 23: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, 07: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