Primeiro e Ultimo dia do Mês Anterior

Delphi

08/02/2014

Pessoal Boa Tarde ...

Estou precisando de uma ajuda para pegar o primeiro e ultimo dia do mês anterior.
eu já utilizei o comando StartOfTheMonth e EndOfTheMonth mas só consegui pegar o mês atual.
Natanael Valenca

Natanael Valenca

Curtidas 0

Respostas

Marco Salles

Marco Salles

08/02/2014

Pessoal Boa Tarde ...

Estou precisando de uma ajuda para pegar o primeiro e ultimo dia do mês anterior.
eu já utilizei o comando StartOfTheMonth e EndOfTheMonth mas só consegui pegar o mês atual.


então ... Veja so

Se vc consegue pegar o primeiro dia do mês atual , se vc tirar um dia desta data vc tem o ultimo dia do mêss anterior .. certo ??

se vc utilizar novamente a função StartOfTheMonth , nesta nova data , vc terá a data do início do mês anterior , Correto ??

[]sds
GOSTEI 0
Claudio Andrade

Claudio Andrade

08/02/2014

Declare DateUtils na uses do form e no evento OnCreate coloque:

  function UltDiaMesAnt(Data: TDateTime):TDateTime;  
  var
    dtAux: TDateTime;
  begin
    dtAux := StrToDate(´01/´ + FormatDateTime(´mm/yyyy´, Data)); 
    Result := dtAux - 1;
  end;


Espero ter ajudado.

Abraço.
GOSTEI 0
Marco Salles

Marco Salles

08/02/2014

Claudio , mas não seria melhor utilizar a forma nativa ???

StartOfTheMonth e EndOfTheMonth

????
GOSTEI 0
Natanael Valenca

Natanael Valenca

08/02/2014

Utilizei o exemplo que o claudio postou e deu tudo certo Obrigado pela ajuda.
GOSTEI 0
Claudio Andrade

Claudio Andrade

08/02/2014

Claudio , mas não seria melhor utilizar a forma nativa ???

StartOfTheMonth e EndOfTheMonth

????


O último dia do mês anterior eu até consegui utilizando EndOfTheMonth -1, mas o primeiro dia do mês anterior só com a função mesmo.

Abraço.
GOSTEI 0
Marco Salles

Marco Salles

08/02/2014

Claudio , mas não seria melhor utilizar a forma nativa ???

StartOfTheMonth e EndOfTheMonth

????


O último dia do mês anterior eu até consegui utilizando EndOfTheMonth -1, mas o primeiro dia do mês anterior só com a função mesmo.

Abraço.


Da sim é so reutilizar esta data do final do mes

veja

último dia do mês anterior eu até consegui utilizando EndOfTheMonth -1, ... È uma data certo

Jogar esta data novamente na função que me da o primeiro dia do Mes

entendeu ???

GOSTEI 0
Marco Salles

Marco Salles

08/02/2014

Claudio , mas não seria melhor utilizar a forma nativa ???

StartOfTheMonth e EndOfTheMonth

????


O último dia do mês anterior eu até consegui utilizando EndOfTheMonth -1, mas o primeiro dia do mês anterior só com a função mesmo.

Abraço.


Olha so Claudio , utilizando nativamente

var
//definicao de duas variaveis somente para representar
Ultimodia,PrimeiroDia:Tdate;
begin
//Pega o Primero dia do mes Atual .. No Nosso caso sera o 01/02/2014
 PrimeiroDia:=StartOfTheMonth(date);
//Subtrai um dia ficando no nosso caso : 31/01/2014
 Ultimodia:=PrimeiroDia-1;
 showmessage('Ultimo dia do Mes anterior ao Atual é : '+Datetostr(Ultimodia));
//Pega o Primeiro dia da data 31/01/2014 .. que no nosso caso será 01/01/2014
 PrimeiroDia:=StartOfTheMonth(Ultimodia);
// apresenta
 showmessage('Primeiro dia do Mes anterior ao Atual é : '+Datetostr(PrimeiroDia));
end;


[]sds
GOSTEI 0
Claudio Andrade

Claudio Andrade

08/02/2014

Claudio , mas não seria melhor utilizar a forma nativa ???

StartOfTheMonth e EndOfTheMonth

????


O último dia do mês anterior eu até consegui utilizando EndOfTheMonth -1, mas o primeiro dia do mês anterior só com a função mesmo.

Abraço.


Olha so Claudio , utilizando nativamente

var
//definicao de duas variaveis somente para representar
Ultimodia,PrimeiroDia:Tdate;
begin
//Pega o Primero dia do mes Atual .. No Nosso caso sera o 01/02/2014
 PrimeiroDia:=StartOfTheMonth(date);
//Subtrai um dia ficando no nosso caso : 31/01/2014
 Ultimodia:=PrimeiroDia-1;
 showmessage('Ultimo dia do Mes anterior ao Atual é : '+Datetostr(Ultimodia));
//Pega o Primeiro dia da data 31/01/2014 .. que no nosso caso será 01/01/2014
 PrimeiroDia:=StartOfTheMonth(Ultimodia);
// apresenta
 showmessage('Primeiro dia do Mes anterior ao Atual é : '+Datetostr(PrimeiroDia));
end;


[]sds


Vivendo e aprendendo...
Até pensei em fazer dessa forma, mas achei que por estar colocando a data na "mão grande" ele não iria reconhecer. Show de bola!!!

Abração.
GOSTEI 0
POSTAR