Contar dias entre 2 datas, tudo bem, mas...
Olá pessoal,
estive vendo aí um modo de saber quandtos dias ha entre duas datas diferentes.
Pois bem, foi simples, bastou usar o seguinte:
(Uses: dateutils)
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
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
Curtidas 0
Respostas
Zottis
12/04/2004
Não entendi muito bem o que você Precisa, mas eu faço assim:
(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
(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
Lipsil
12/04/2004
Valew kra..
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
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
Zottis
12/04/2004
if date < 10/09/2004 then...
ou
if date < TabelaTalCampoTal.value (Tipo Date)
ou
if date < TabelaTalCampoTal.value (Tipo Date)
GOSTEI 0
Sremulador
12/04/2004
var
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
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
Marco Salles
12/04/2004
queria apenas saber se o dia de hoje é maior ou menor ao dia de 10/09/2004
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;
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
[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
Zottis
12/04/2004
Fazer O que.
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
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
Marco Salles
12/04/2004
Ainda bem que feiura não é defeito, defeito é não enxergar bem.
Relaxa cara :wink: , Tava Só Brincando :P :P :P :P
GOSTEI 0