Daysbetween maluco !!!
Amigos,
Alguém sabe me dizer o pq da minha função Daysbetween retorna um numero totalmente louco ?
Estou usando o código abaixo:
Estou usando para teste as datas 04/06/1952 e 24/05/1952, que teria q me retornar 12 dias (diferença entre essas duas datas)...só que o programa me retorna 36514.
Já tentei a DaySpan e trunquei o resultado, deu na mesma...alguém me ajuda...já não sei mais o q fazer...
Alguém sabe me dizer o pq da minha função Daysbetween retorna um numero totalmente louco ?
Estou usando o código abaixo:
datamaior := strtodate(DataNasc); datamenor := strtodate dmData.qryDiarioDia.Fields0].AsString); //as datas retornadas estão corretas showmessage(datetostr(datamaior)); showmessage(datetostr(datamenor)); DBTDia.Caption := inttostr(DaysBetween(datamenor,datamaior));
Estou usando para teste as datas 04/06/1952 e 24/05/1952, que teria q me retornar 12 dias (diferença entre essas duas datas)...só que o programa me retorna 36514.
Já tentei a DaySpan e trunquei o resultado, deu na mesma...alguém me ajuda...já não sei mais o q fazer...
Ana Davis
Curtidas 0
Respostas
Beppe
09/02/2004
[quote:54b815b402=´Ana Davis´]Amigos,
Alguém sabe me dizer o pq da minha função Daysbetween retorna um numero totalmente louco ?
Estou usando o código abaixo:
Estou usando para teste as datas 04/06/1952 e 24/05/1952, que teria q me retornar 12 dias (diferença entre essas duas datas)...só que o programa me retorna 36514.
Já tentei a DaySpan e trunquei o resultado, deu na mesma...alguém me ajuda...já não sei mais o q fazer...[/quote:54b815b402]
Sei lá, tentou inverter, assim:
Alguém sabe me dizer o pq da minha função Daysbetween retorna um numero totalmente louco ?
Estou usando o código abaixo:
datamaior := strtodate(DataNasc); datamenor := strtodate dmData.qryDiarioDia.Fields0].AsString); //as datas retornadas estão corretas showmessage(datetostr(datamaior)); showmessage(datetostr(datamenor)); DBTDia.Caption := inttostr(DaysBetween(datamenor,datamaior));
Estou usando para teste as datas 04/06/1952 e 24/05/1952, que teria q me retornar 12 dias (diferença entre essas duas datas)...só que o programa me retorna 36514.
Já tentei a DaySpan e trunquei o resultado, deu na mesma...alguém me ajuda...já não sei mais o q fazer...[/quote:54b815b402]
Sei lá, tentou inverter, assim:
DaysBetween(datamaior,datamenor)
GOSTEI 0
Ana Davis
09/02/2004
Já inverti, já usei a data direto na função, tipo daysbetween(´04/06/1952´, ´24/05/1952´)
Tá muito louco....
Tudo que eu queria era q fosse feita a subtração e retornasse o numero de dias entre uma e outra, só isso, tá dificil !
Tá muito louco....
Tudo que eu queria era q fosse feita a subtração e retornasse o numero de dias entre uma e outra, só isso, tá dificil !
GOSTEI 0
Beppe
09/02/2004
Caption := IntToStr(DaysBetween(StrToDate(´24/05/1952´), StrToDate(´04/06/1952´)));
Pra mim retorna 11, pra ti não?
Pode ser que alguma configuração de localização esteja errada...
GOSTEI 0
Fabio.hc
09/02/2004
Tente assim:
procedure TForm1.Button12Click(Sender: TObject); var dias:integer; begin dias:=DaysBetween(strtodate(´04/06/1952´),strtodate(´24/05/1952´)); end;
GOSTEI 0
Ana Davis
09/02/2004
Amigos,
descobri o que fazia a daysbetween retorna um número tão absurdo. Na verdade, não existia nada de absurdo, a função estava retornando o valor correto. Vou explicar: a data que eu capturo do form esta no formato dd/mm/yyyy, enquanto a data q eu seleciono da tabela está no formato dd/mm/yy. Por isso me voltava um valor enorme.
Agora que já sei onde está o problema, queria saber como faço pra configurar as datas da tabela para se tornarem dd/mm/yyyy ??? Estou usando uma simples tabela em paradox. A coluna data está em formato data.
descobri o que fazia a daysbetween retorna um número tão absurdo. Na verdade, não existia nada de absurdo, a função estava retornando o valor correto. Vou explicar: a data que eu capturo do form esta no formato dd/mm/yyyy, enquanto a data q eu seleciono da tabela está no formato dd/mm/yy. Por isso me voltava um valor enorme.
Agora que já sei onde está o problema, queria saber como faço pra configurar as datas da tabela para se tornarem dd/mm/yyyy ??? Estou usando uma simples tabela em paradox. A coluna data está em formato data.
GOSTEI 0
Fabio.hc
09/02/2004
Tente assim:
procedure TFrmPrincipal.FormCreate(Sender: TObject); begin ShortDateFormat:=´dd/mm/yyyy´; end;
GOSTEI 0
Ana Davis
09/02/2004
Valeu Fábio funcionou que foi uma beleza ! Obrigada mesmo !
GOSTEI 0