ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Intervalo entre datas

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
mauricio.inf
Novato
Novato


Registrado: Segunda-Feira, 29 de Março de 2010
Mensagens: 1

MensagemEnviada: Seg Mar 29, 2010 11:22 pm    Assunto: Intervalo entre datas Responder com Citação

Boa noite pessoal.

Como posso fazer o intervalo de datas com resultado em dias.
Por exemplo:

Data1: 01/03/2010
Data2: 29/03/2010

data1 - data2 : 28 dias

Como posso fazer isso?
Isso servira para o calculo de juros do meu sistema.

Desde já um muito obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Mar 29, 2010 11:35 pm    Assunto: Re: Intervalo entre datas Responder com Citação

mauricio.inf escreveu:
Boa noite pessoal.

Como posso fazer o intervalo de datas com resultado em dias.
Por exemplo:

Data1: 01/03/2010
Data2: 29/03/2010

data1 - data2 : 28 dias

Como posso fazer isso?
Isso servira para o calculo de juros do meu sistema.

Desde já um muito obrigado.
Tem um monte espalhado na net, eu achei este aqui, ve se serve pra vc...Procure mais na net que vc vai encontrar varios exemplos

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  Ano , Mes , Dia : Word;
  Ano1, Mes1, Dia1: Word;
  Ano2, Mes2, Dia2: Word;
  Data : TDateTime;
begin
  DecodeDate(StrToDate(MaskEdit1.Text), Ano1, Mes1, Dia1);
  DecodeDate(Date, Ano2, Mes2, Dia2);
  if (Dia1 = Dia2) and (Mes1 = Mes2) then
  begin
    Dia := 0;
    Mes := 0;
    Ano := Ano2 - Ano1;
  end
  else
  begin
    Data := Now-StrToDate(MaskEdit1.Text)+1;
    DecodeDate(Data, Ano, Mes, Dia);
    if DateToStr( Data ) = '00/00/00' then
    begin
      Dia := 00;
      Mes := 00;
      Ano := 00;
    end;
    if Mes > 0 then
      Mes := Mes - 1;
    if (Dia1 = Dia2) then
    begin
      Dia := 0;
      Mes := Mes + 1;
    end;
    Ano:=Ano-1900;
  end;
  ShowMessage( IntToStr(Ano)+' anos, '+IntToStr(Mes)+' meses e '+IntToStr(Dia)+' dias');
end;

_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Lehapan
Experiente
Experiente


Registrado: Quarta-Feira, 16 de Junho de 2004
Mensagens: 401
Localização: Caxias do Sul - RS

MensagemEnviada: Ter Mar 30, 2010 8:01 am    Assunto: Responder com Citação

Existe a rotina DaysBetween, coloque no uses DateUtils.

Espero ter colaborado.
_________________
Wilson Lehapan Junior, vulgo Paulista...!!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB