Fórum somar dias uteis a uma data #231890
13/05/2004
0
estou desenvolvendo um projeto onde necessito somar à uma data definida (dbtimepicker1) uma quantidade de dias uteis (dbEdit1). onde o dbtimepiker2 receberá o resultado
por exemplo: 13/05/2004 + 4
o resultado será 18/05/2005 (não foi somado o domingo)
agradeço qualquer ajuda
por exemplo: 13/05/2004 + 4
o resultado será 18/05/2005 (não foi somado o domingo)
agradeço qualquer ajuda
Dacunha
Curtir tópico
+ 0
Responder
Posts
13/05/2004
Euclides
Olá Dacunha,
você poderá fazer uma rotina que some de um em um os dias mas para somar faça algumas consistências do tipo :
DAYOFWEEK( DATA ) = 1 // DOMINGO
DAYOFWEEK( DATA ) = 7 // SABADO
Aqui você irá identificar quando a data cai de sábado ou domingo para somar mais dias na data ......
Espero ter ajudado
Qualquer coisa posta aqui de novo
Abraços
você poderá fazer uma rotina que some de um em um os dias mas para somar faça algumas consistências do tipo :
DAYOFWEEK( DATA ) = 1 // DOMINGO
DAYOFWEEK( DATA ) = 7 // SABADO
Aqui você irá identificar quando a data cai de sábado ou domingo para somar mais dias na data ......
Espero ter ajudado
Qualquer coisa posta aqui de novo
Abraços
Responder
Gostei + 0
13/05/2004
Marco Salles
tente a rotina abaixo
Para fazer um teste coloque um botton e dois edits no Form, e chame a funçao assim:
function Verificadiadata(Data:Tdate;Dias:integer):Tdate; var Datainicial:Tdate; DataFinal:Tdate; begin datainicial:=data+1; datafinal:=data+dias; while (Datainicial)<=Datafinal do begin if trunc(datainicial) mod 7 = 1 then begin datafinal:=Datafinal+1; end; datainicial:=datainicial+1; end; if trunc(datafinal) mod 7 = 1 then result:=datafinal+1 else result:=datafinal; end;
Para fazer um teste coloque um botton e dois edits no Form, e chame a funçao assim:
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(DateToStr(Verificadiadata(StrToDate(Edit1.Text),StrToint(Edit2.Text)))); end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)