Como descobrir o dia de inicio e final de uma semana?

Delphi

20/07/2005

Olá, queria saber o dia de inicio e final da seman, eu informando o dia... deixe-me explicar melhor:

por exemplo,

Informo o dia: 19/07/2005
Inicio: 17/07/2005
Fim: 23/07/2005


como faço isso?

Aproveitando poderia ser também, o dia de inicio e final do mês, se não for abusar muito... :d

Desde já agradeço


Titanius

Titanius

Curtidas 0

Respostas

Rjun

Rjun

20/07/2005

procedure InicioFimSemana(Data: TDateTime; var Inicio: TDateTime; var Fim: TDateTime);
var
  Dias: Integer;
begin
  Dias := DayOfWeek(Data);
  Inicio := Data - (Dias - 1);
  Fim := Inicio + 6;
end;



GOSTEI 0
Titanius

Titanius

20/07/2005

Obrigado Rjun, funcionou perfeitamente...


GOSTEI 0
Steve_narancic

Steve_narancic

20/07/2005

Você também pode utilizar as funções da unit DateUtils que já vem com o Delphi:

StartOfTheWeek, EndOfTheWeek

Ex.:

//na uses declare: DateUtils
procedure InicioFimSemana(Data: TDateTime; var Inicio: TDateTime; var Fim: TDateTime);
begin
  Inicio := StartOfTheWeek(Data);
  Fim := EndOfTheWeek(Data);
end; 



GOSTEI 0
Rjun

Rjun

20/07/2005

Vivendo e aprendendo...não sabia dessas funções...

vlw


GOSTEI 0
Massuda

Massuda

20/07/2005

...unit DateUtils que já vem com o Delphi
Essa unit está disponível a partir do Delphi 6.


GOSTEI 0
POSTAR