Fórum Contar dias entre 2 datas, tudo bem, mas... #225559
12/04/2004
0
estive vendo aí um modo de saber quandtos dias ha entre duas datas diferentes.
Pois bem, foi simples, bastou usar o seguinte:
(Uses: dateutils)
var dias:integer; begin ShortDateFormat:=´dd/mm/yyyy´; dias:=DaysBetween(DATE,strtodate(venc.Text)); showmessage(inttostr(dias));
Bem, o problema é q esse cód acima esta exibindo apenas os dias q há de diferença um do outro.
Mas eu preciso contar os dias depois deles já terem passados de uma certa data.
então não adianta if dias > 0 pois até mesmo q o primeiro seja menor vai dar a mesma coisa.
Então alguem saberia a solução?
Valeu,
Rafael
Lipsil
Curtir tópico
+ 0Posts
12/04/2004
Zottis
(Campo Tipo Date)
Caption:= Format(´faltam :¬s´,[TabelaCampo.value - date]);
espero que te ajude.
OBs não lembro se é (TabelaCampo.value - date) ou (date-TabelaCampo.value)
espero que te ajude.
Zottis
Gostei + 0
13/04/2004
Lipsil
mas pela lógica acho q isso não funcionaria não.. pra se trabalhar com dias, meses e anos é muito mais complexo, mas pra resumir o trabalho fiz em com dateutils, usando o q usei acima... e queria apenas saber se o dia de hoje é maior ou menor ao dia de 10/09/2004
Gostei + 0
13/04/2004
Zottis
ou
if date < TabelaTalCampoTal.value (Tipo Date)
Gostei + 0
13/04/2004
Sremulador
dias:integer;
Data: Tdatetime;
begin
Data:= StrtoDate (Textocomdata);
ShortDateFormat:=´dd/mm/yyyy´;
dias:=DaysBetween(Data,strtodate(venc.Text));
showmessage(inttostr(dias));
Acho que isso deve resolver
Gostei + 0
13/04/2004
Marco Salles
O Tipo TDate é Um Numero INTEIRO.... O Que Significa isto :?: :?: Significa que se voce tiver definido uma variável do tipo TDate e ela[b:a788070612] ´Valer´ Zero[/b:a788070612], corresponde a Data 30/12/1899....
[b:a788070612]Experimente Fazer:[/b:a788070612]
procedure TForm1.Button1Click(Sender: TObject); var data0,data1,data2:TTime; begin data0:=0; showmessage(DateToStr(Data0)); //data 30/12/1899 Padrão data1:=1; showmessage(DateToStr(Data1));//data 31/12/1899 data2:=2; showmessage(DateToStr(Data2));//data 01/01/1900 end;
Isto Vem ate os dias de hoje.....E Qual a Vantagem Disto :?: :?: A Vantagem é Simples...[b:a788070612]É Mais Fácil Somar Ou Diminuir Inteiros do que Datas[/b:a788070612]
[b:a788070612]Experimente Isto:[/b:a788070612]
procedure TForm1.Button1Click(Sender: TObject); var data:TTime; begin data:=0; showmessage(DateToStr(Data));//data 30/12/1899 data:=data-1; showmessage(DateToStr(Data));//data 29/12/1899 data:=data+2; showmessage(DateToStr(Data));//data 31/12/1899 end;
[b:a788070612]Como voce esta vendo, não é tão complexo assim.....[/b:a788070612]
Concluão:Para Saber se uma determinada data é maior , igual, ou menor a uma outra data basta comparar o resultado da subtração...[b:a788070612]Experimente:[/b:a788070612]
procedure TForm1.Button1Click(Sender: TObject); var datainicial,datafinal:Tdate; begin datainicial:=StrToDate(Edit1.text); dataFinal:=StrToDate(Edit2.text); if (datafinal-datainicial)>0 then showmessage(´é maior´) else if (datafinal-datainicial=0) then showmessage(´é igual´) else showmessage(´é menor´) end;
[b:a788070612]P:S Para Testar so copie e cole e F9[/b:a788070612]
Para Finalisar Tres Observações:
1)Será Que Deu Para Entender :?:
2)Sobre o Ultimo Tópico Que eu Lhe Respondi, Voce Não Deu Retorno : :evil: Se Funcionou :P , Se Não Funcionou :cry: e Porque :?: etc..Ás vezes é muito importante para quem responde um tópico, saber se ele[b:a788070612] não [/b:a788070612]funcionou e porque :idea:
3)[b:a788070612]´zottis´[/b:a788070612] Como Voce é feio, Cara..... :P :P :P :P :P :P
Gostei + 0
13/04/2004
Zottis
Ainda bem que feiura não é defeito, defeito é não enxergar bem.
Qualquer coisa estamos aí, mesmo sendo feio pra caramba.
OBS.
Eu não preciso mais ser bonito, pois já casei.
Zottis
Gostei + 0
13/04/2004
Marco Salles
Relaxa cara :wink: , Tava Só Brincando :P :P :P :P
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)