Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Somar Data


Allanrf
 Share

Question

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...