Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2012
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 21
trex2000 Va por buen camino
Sumar dias a una fecha

Saludos a todos.

Mi pegunta es como puedo asignar una cantidad de dias ( variable segun una tabla ) a una fecha para poder determinar otra fecha.

Osea tengo la fecha donde se hizo un embolse y cada producto tiene un num de dias de vida, entonces necesito a la fecha de embolse sumarle los dias de vida. Como puedo hacer esto?

Ejemplo a la fecha del 09/04/2012 sumarle 75 dias de vida y como resultado que me de la fecha en que va a caducar.

Espero haberme dado a entender.

De antemano muchas gracias.
Responder Con Cita
  #2  
Antiguo 17-05-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Código Delphi [-]
Fecha := Fecha + 75;

// Saludos
Responder Con Cita
  #3  
Antiguo 17-05-2012
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 21
trex2000 Va por buen camino
Gracias por tu pronta respuesta.
Responder Con Cita
  #4  
Antiguo 18-05-2012
Pedro-Juan Pedro-Juan is offline
Miembro
 
Registrado: ago 2006
Ubicación: Barcelona - España
Posts: 315
Poder: 18
Pedro-Juan Va por buen camino
Hola.

Yo utilizo esta función:

Código Delphi [-]
//Para restar fechas sólo hay que poner en los parámetros números negativos

function Sumar_RestarAFecha(Fecha:TDateTime; Anos,Meses,Dias:Integer):TDateTime;
var dia1,mes1,ano1: integer;
    dia2,mes2,ano2: word;
begin
DecodeDate(Fecha, ano2, mes2, dia2);
ano1 := (ano2 + Anos);
mes1 := (mes2 + Meses - 1);
dia1 := (dia2 + Dias - 1);

  if (mes1 > 0) then begin
      ano1 := (ano1 + (mes1 div 12));
      mes1 := ((mes1 mod 12) + 1);
  end
  else if (mes1 < 0) then begin
      mes1 := (- mes1);
      ano1 := (ano1 - (mes1 div 12) -1);
      mes1 := (13 - (mes1 mod 12));
  end
  else mes1 := 1;

result := EncodeDate(ano1,mes1,1) + dia1;
end;

Ejemplo para tu caso:

Código Delphi [-]
Form.Label1.Caption := DateToStr(Sumar_RestarAFecha(Date,0,0,75));
dFecha := Sumar_RestarAFecha(Date,0,0,75);

//Restar
Form.Label1.Caption := DateToStr(Sumar_RestarAFecha(Date,0,0,-75));
dFecha := Sumar_RestarAFecha(Date,0,0,-75);

Espero que te sirva.

Un saludo.
__________________
Este mundo es el camino para el otro, que es morada sin cesar. Mas cumple tener buen tino para andar esta jornada sin errar. (J. Manrique)
Responder Con Cita
  #5  
Antiguo 18-05-2012
LoPiTaL LoPiTaL is offline
Miembro
 
Registrado: abr 2009
Posts: 168
Poder: 16
LoPiTaL Va por buen camino
Para días, lo más sencillo, como comenta Roman, es sumárselos directamente al TDateTime, ya que este tipo de datos es un Double, cuyas unidades representan el nº de días.
Sin embargo, para cualquier otro elemento del TDateTime se tiene disponible en la unit DateUtils funciones para sumar/restar en determinados campos de una fecha, entre otras funciones (obtener si es año bisiesto, día de la semana, etc...).

En tu caso, se podría hacer simplemente:

Código Delphi [-]
  Fecha:=IncDay(Fecha, 75);

Puedes hacer lo mismo para años, meses, días, horas, min, seg y millis, y soportan tanto valores positivos como negativos (para añadir o quitar días respectivamente).

Un saludo,
LoPiTaL

Última edición por LoPiTaL fecha: 18-05-2012 a las 19:01:05.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sumar Dias a un fecha en Delphi 5 alejozd OOP 4 22-12-2010 09:04:07
como sumar Dias a una fecha esimon OOP 18 05-08-2008 16:50:50
sumar dias a fecha actual MOCOSO07 Varios 7 15-06-2008 18:53:23
SUmar dias a una fecha raffagia Varios 1 04-10-2004 18:28:13
Sumar Dias a una fecha? danytorres SQL 1 16-01-2004 05:04:15


La franja horaria es GMT +2. Ahora son las 23:52:26.


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
Copyright 1996-2007 Club Delphi