Como incrementar datas no Delphi ?
Bom Dia!
como Incrementar datas no Delphi? tem alguma função que faça isso?
e no caso de quando o incremento chegar no mês 12 ele incrementa o ano ?
como Incrementar datas no Delphi? tem alguma função que faça isso?
e no caso de quando o incremento chegar no mês 12 ele incrementa o ano ?
Eduardo Mendonça
Curtidas 0
Respostas
Ricardo Araujo
21/02/2014
pode apresenta um exemplo ?
GOSTEI 0
Lucas Ramos
21/02/2014
uses DateUtils;
função que retorna a data incrementada IncDay(now, 1) se informar o Incremento como negativo ele decrementa da data, se passar do final do mês ele atualiza o mês e continua o incremento.
função que retorna a data incrementada IncDay(now, 1) se informar o Incremento como negativo ele decrementa da data, se passar do final do mês ele atualiza o mês e continua o incremento.
GOSTEI 0
Luiz
21/02/2014
Também tem a função para incrementar o mês e pode-se apenas somar os dias ..
procedure TFrmSobre.Button1Click(Sender: TObject);
var
data : tdatetime;
begin
data := Date; //data atual
data := data + 20;
ShowMessage('Data Atual + 20 dias: '+DateTostr(data));
data = IncMonth(data,3); //incrementar o mes
ShowMessage('Data + 3 meses: '+DateTostr(data));
end;
GOSTEI 0
Deivison Melo
21/02/2014
Existe varias possibilidades, detalhe sua necessidade para direcionarmos da melhor forma possível.
GOSTEI 0
Eduardo Mendonça
21/02/2014
Ok...
tenho um Campo de valores de vencimento que quando o usuário preenche ele incrementa a data dom próximo vencimento em 1 mês só que eu preciso que quando chegue o mês 12 ele passa para o próximo ano .
Ex: 15/12/2014 ==> 15/01/2015
tenho um Campo de valores de vencimento que quando o usuário preenche ele incrementa a data dom próximo vencimento em 1 mês só que eu preciso que quando chegue o mês 12 ele passa para o próximo ano .
Ex: 15/12/2014 ==> 15/01/2015
GOSTEI 0
Luiz
21/02/2014
Então utilize o IncMonth(data,1);
data = IncMonth(data,1); //adiciona 1 mês
O ano é automático, funciona quando chegar no mês 12, se adicionar 1 mês, muda o ano .. e vai para o mês 01 do outro ano e não para 13 (que não existe).
data = IncMonth(data,1); //adiciona 1 mês
O ano é automático, funciona quando chegar no mês 12, se adicionar 1 mês, muda o ano .. e vai para o mês 01 do outro ano e não para 13 (que não existe).
GOSTEI 0
Ricardo Araujo
21/02/2014
Fiz um exemplo simples, esta funcionando .
unit Unit1;
interface
uses
Windows, Messages, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
DateTimePicker1: TDateTimePicker;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
SysUtils;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
data : TDateTime;
begin
data := IncMonth(DateTimePicker1.Date, StrToInt( Edit1.Text) );
ListBox1.Items.Add( DateToStr(data) );
end;
unit Unit1;
interface
uses
Windows, Messages, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
DateTimePicker1: TDateTimePicker;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
SysUtils;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
data : TDateTime;
begin
data := IncMonth(DateTimePicker1.Date, StrToInt( Edit1.Text) );
ListBox1.Items.Add( DateToStr(data) );
end;
GOSTEI 0
Eduardo Mendonça
21/02/2014
Eu utilizo aqui um TDBDatteEdit e quando chega no mês 12 ele muda para uma data de bem Velha tipo de 1900
GOSTEI 0