PDA

Ver la Versión Completa : Operaciones con fechas


jandres
07-11-2006, 19:04:49
Hola a todos espero estén bien mis problemas son dos
Necesito saber la forma de cómo puedo sacar la diferencia de días de dos fechas
Y lo segundo como puedo sumar le 15 ,30 o 90 días a una fecha para que me de una fecha resultante

Por favor si pueden ser bien detallistas en la respuesta por que e buscado por el foro pero no entiendo lo de dateutils no se donde encontrar esa unidad gracias de antemano por ayudar me.

kuan-yiu
07-11-2006, 19:16:04
DateUtils es el nombre que tienes que añadir en la cláusula uses de la unit en la que quieras usar las rutinas de manejo de fechas.

Todas las funciones que necesitas para manejar fechas te aparecen listadas si escribes en la ayuda de Delphi literalmente: DateUtils.

Los datos, si son tipo fecha, los puedes restar directamente para conocer la diferencia y luego aplicar esas rutinas para saber cuantos meses, días y horas son la diferencia.

Un ejemplo para que te hagas una idea:
* IncDay(fecha, intervalo)
Fecha: la fecha que se quiera incrementar.
Intervalo: número de días que se le añaden.

{ Rellena un par de fechas de un formulario con el margen por defecto. }
procedure rellenaMargenFechas(var fechaIni, fechaFin: TDateTimePicker);
var
intervalo: Integer;
begin
intervalo := - margenDias;
fechaIni.Date := IncDay(Date, intervalo);
fechaFin.Date := Date;
end;

seoane
07-11-2006, 19:16:27
El tipo TDateTime no es mas que un double en el que la parte entera es el número de días desde 30/12/1899 y la parte decimal indica la fracción de día. Por lo tanto, no hace falta ninguna función especial para sumar o restar días, es tan sencillo como sumar y restar. Es decir.


var
Fecha: TDateTime;
Diferencia: TDateTime;
begin
Fecha:= Date;
// Le sumamos 15 dias
Fecha:= Fecha + 15;
// Para saber la diferencia solo hay que restar
Diferencia:= Fecha - Date;
end;