Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Somar Data


Allanrf

Pergunta

2 respostass a esta questão

Posts Recomendados

  • 0

Olá segue um exemplo, que encontrei na net... não testei ele...

Para subtrair ou somar nº de dias à uma data, você vai precisar de :

  1- um Edit para data – edtData;
  2- um Edit para o nº de dias – edtNoDias;
  3- um Label para a nova data – lblNovaData;
  4- um Button para o cálculo – btnCalcNovaData;

  procedure TfrmPrincipal.btnCalcNovaDataClick(Sender: TObject);
  var
    Data : String;
    NoDias: Integer;
    NovaData : TDateTime;
  begin
    Data := edtData.Text; // formato --/--/----
    NoDias := StrToInt(edtNoDias.Text);
    NovaData := StrToDate(Data) - NoDias; // subtrair nº de dias
    // ou NovaData := StrToDate(Data )+ NoDias; // somar nº de dias
    lblNovaData.Caption := DateToStr(NovaData);
  end;

  ou

  procedure TfrmPrincipal.btnCalcNovaDataClick(Sender: TObject);
  var
    NoDias: Integer;
    NovaData, Data : TDateTime;
  begin
    Data := StrToDate(edtData.Text); // formato --/--/----
    NoDias := StrToInt(edtNoDias.Text);
    NovaData := Data - NoDias; // subtrair nº de dias
    // ou NovaData := Data + NoDias; // somar nº de dias
    lblNovaData.Caption := DateToStr(NovaData);
  end;

Alexandre

Link para o comentário
Compartilhar em outros sites

  • 0
Como faço para somar a data (dia, mes, ano, hora, minuto e segundo) dentro do meu programa e colocar o resultado em uma tabela?
Allanrf, não deve ser nada complicado se você tiver em mente qual a composição deste campo. A variável TDateTime é equivalente a um Float, onde a parte inteira corresponde o número de dias a partir de 30/12/1899 (ou seja, se você atribuir zero a ela, esta será a data observada) e a parte fracionária corresponde ao valor da hora (horas, min, seg e mili), sendo que 0.9999999 corresponde a aproximadamente 23:59:59. Não seria preciso dizer que quando atingir 1, será incrementada a parte inteira, avançando um dia - visto que 24:00 corresponde a um dia.

Se você quizer somar dias, então some o número de dias diretamente à variável TDateTime.

Dê uma olhada neste post também.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...