Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-10-2010
r1d2m3 r1d2m3 is offline
Miembro
 
Registrado: nov 2009
Posts: 88
Poder: 15
r1d2m3 Va por buen camino
Manejo de Fechas - Sumar o restar días

Hola a todos, tengo el siguiente requerimiento en una aplicación: necesito sumar o restar n días a una fecha y no puedo dar con la sintaxis, ¿alquien me puede tirar un cable con este punto?

Saludos y quedo a la espera de alguna respuesta.
Responder Con Cita
  #2  
Antiguo 30-10-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola r1d2m3.

La unit StrUtils tiene la función IncDay a ese fín.
Código Delphi [-]
...
var
  ADate: TDateTime;
begin
  ADate:= IncDay(Date, 1);   // ADate = fecha actual + un día
  ADate:= IncDay(Date, -5);  // ADate = fecha actual - cinco días.
end;

Revisá este link que se trató el tema.


Saludos.
Responder Con Cita
  #3  
Antiguo 30-10-2010
r1d2m3 r1d2m3 is offline
Miembro
 
Registrado: nov 2009
Posts: 88
Poder: 15
r1d2m3 Va por buen camino
Gracias por el hilo, eso era lo que estaba buscando. Ya había visto esa función pero en la documentación no se aclara debidamente la contradicción que surge de ver el nombre de la func, incDay, o sea incrementar dias, vista así, parece que solo sirve para sumar días, pero bueno, suerte que ustedes ya la tenían clara. Por si le sirve a alguien mas, lo que estaba intentando hacer era pasar una fecha y definir el día de inicio de la semana y el día de finalización de la misma, es decir, si le paso el dia de hoy, viernes 29 de octubre de 2010, la función me debe devolver los días lunes 25 y domingo 31, voy a usar esta función para parametrizar un listado pidiendo un filtro para un día en concreto, o bien para la semana en curso, o bien para el mes en curso. A continuación, pego el código de mi función, tienen que definir una estructura del tipo record para contener los dias inicio y final.

Código Delphi [-]
function Semana(vFecha:string):dSemana;
var
  varDiasSumo, varDiasResto, varDiaActual:Integer;
  fecDesde, fecHasta, varFecAuxi:TDateTime;
  varDevo:dSemana;

begin
  varFecAuxi:=StrToDate(vFecha);
  varDiaActual:=DayOfTheMonth(varFecAuxi);
  varDiasResto:=((DayOfTheWeek(varFecAuxi)-1)*-1);
  varDiasSumo:=(7-DayOfTheWeek(varFecAuxi));
  fecDesde:=IncDay(varFecAuxi, varDiasResto);
  fecHasta:=IncDay(varFecAuxi, varDiasSumo);
  varDevo.fecDesde:=fecDesde;
  varDevo.fecHasta:=fecHasta;
  Result:=varDevo;
end;


type dSemana = record
  fecDesde:TDateTime;
  fecHasta:TDateTime;
end;

Espero le sirva a alguien mas.

Saludos.
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
restar o sumar 2 dbedits.text gonza_619 Varios 7 13-09-2010 20:08:43
Restar/Sumar entre DBGrid's Lenny Varios 5 02-07-2010 13:54:13
Restar, Sumar varios registros a la vez Lenny Varios 2 28-05-2010 20:38:30
Sumar y restar fechas SMTZ .NET 3 28-11-2006 03:15:27
Como puedo sumar o restar fechas? Mic82 OOP 2 20-06-2004 00:45:14


La franja horaria es GMT +2. Ahora son las 10:34:05.


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