Contar número de dias entre datas
A situação é a seguinte: Tenho uma data inicial com o formato 13/04/1983 e uma data final com o mesmo formato 02/11/2003. Como calcular quantos dias se passaram desde a data inicial? Estes são apenas exemplos. Mas o form terá dois edits para as datas inicial e final e mais um para exibir a quantidade de dias passados. Já tentei fazer isso, mas só consigo retornar um resultado em formato de data também.
Flanilson
Curtidas 0
Melhor post
Bisturi
02/11/2003
Use algo assim:
Abraços.
procedure TForm1.Button1Click(Sender: TObject); var data1, data2 : TdateTime; begin data1 := StrToDate(edit1.Text); data2 := StrToDate(Edit2.Text); label1.Caption := inttostr(daysbetween(data2,data1)); end;
Abraços.
GOSTEI 1
Mais Respostas
Ltres
02/11/2003
Tem uma uses chamada DateUtils q tem todo tipo de funções para data e tempo.
No seu caso pode-se utilizar o :arrow: DaysBetween(datamaior, datamenor), que ira retornar um inteiro com o número de dias entre as datas. Lembre-se de colocar DateUtils na Uses da unit.
Espero ter ajudado!
No seu caso pode-se utilizar o :arrow: DaysBetween(datamaior, datamenor), que ira retornar um inteiro com o número de dias entre as datas. Lembre-se de colocar DateUtils na Uses da unit.
Espero ter ajudado!
GOSTEI 0
Imoreira
02/11/2003
function dias(data1,data2:tdatetime):variant;
begin
result:=data2-data1;
end;
use assim
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
label1.caption:=dias(strtodate(edit1.text),strtodate(edit2.text));
end;
end;
begin
result:=data2-data1;
end;
use assim
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
label1.caption:=dias(strtodate(edit1.text),strtodate(edit2.text));
end;
end;
GOSTEI 0
Flanilson
02/11/2003
Beleza, Consegui o que queria. No entanto, agora tenho outro problema. Quando tiver a quantidade de dias, tem como converter, de uma maneira mais simples, esses dias em anos e meses?
GOSTEI 0
Ltres
02/11/2003
Tente isso!
O pirmeiro separa a data e o segundo junta.
Essas funções estão no SysUtils
Acho q era isso o q queria!? :lol:
O pirmeiro separa a data e o segundo junta.
Essas funções estão no SysUtils
procedure TForm1.FormCreate(Sender: TObject); var Dia, Ano, Mes: Word; OutraData: TDate; begin DecodeDate(date, Ano, Mes, Dia); //Separa o Ano, Mes e Dia de uma data Showmessage(´Ano: ´+ IntToStr(Ano) +´, Mes: ´+ IntToStr(Mes) + ´ e Dia: ´+ IntToStr(Dia)); OutraData := EncodeDate(Ano, Mes, Dia); //Junta os campos de Ano, Mes, Dia numa TDate end;
Acho q era isso o q queria!? :lol:
GOSTEI 0