看看这个行吧procedure TForm1.Button4Click(Sender: TObject); var year,mon,day,day1:Integer; begin year:=StrToInt(self.Edit1.Text); mon:=StrToInt(self.Edit2.Text); day:=StrToInt(self.Edit3.Text); day1:=day+1; if mon<>2 then begin case mon of 1,3,5,7,8,10:begin if day1>31 then begin mon:=mon+1; day:=1; end else day:=day1; end; 12:begin if day1>31 then begin year:=year+1; mon:=1; day:=1; end else day:=day1; end; 4,6,9,11:begin if day1>30 then begin mon:=mon+1; day:=1; end else day:=day+1; end; end; end else begin if (Year mod 4 = 0) and ((Year mod 100 <> 0) or (Year mod 400 = 0)) then begin if day1>29 then begin mon:=3; day:=1 end else day:=day1; end else begin if day1>28 then begin mon:=3; day:=1 end else day:=day1; end; end; Self.Edit1.Text:=IntToStr(year); Self.Edit2.Text:=IntToStr(mon); Self.Edit3.Text:=IntToStr(day); self.Edit4.Text:=IntToStr(year)+'年'+inttostr(mon)+'月'+inttostr(day)+'日'; end;
var dt:TDateTime; begin if TryStrToDateTime(年+月+日) then dt:=StrToDateTime(年+月+日)+1 else ShowMessage('无效的日期格式'); end;
function IncDay(const AValue: TDateTime;
const ANumberOfDays: Integer = 1): TDateTime;
在
DateUtils单元
或
DateTimePicker1.Date := IncDay(DateTimePicker1.Date,1);
两种方法道理一样,IncDay可以设置要增加的天数
var
year,mon,day,day1:Integer;
begin
year:=StrToInt(self.Edit1.Text);
mon:=StrToInt(self.Edit2.Text);
day:=StrToInt(self.Edit3.Text);
day1:=day+1;
if mon<>2 then
begin
case mon of
1,3,5,7,8,10:begin
if day1>31 then
begin
mon:=mon+1;
day:=1;
end
else
day:=day1;
end;
12:begin
if day1>31 then
begin
year:=year+1;
mon:=1;
day:=1;
end
else
day:=day1;
end;
4,6,9,11:begin
if day1>30 then
begin
mon:=mon+1;
day:=1;
end
else
day:=day+1;
end;
end;
end
else
begin
if (Year mod 4 = 0) and ((Year mod 100 <> 0) or (Year mod 400 = 0)) then
begin
if day1>29 then
begin
mon:=3;
day:=1
end
else
day:=day1;
end
else
begin
if day1>28 then
begin
mon:=3;
day:=1
end
else
day:=day1;
end;
end;
Self.Edit1.Text:=IntToStr(year);
Self.Edit2.Text:=IntToStr(mon);
Self.Edit3.Text:=IntToStr(day);
self.Edit4.Text:=IntToStr(year)+'年'+inttostr(mon)+'月'+inttostr(day)+'日';
end;
dt:TDateTime;
begin
if TryStrToDateTime(年+月+日) then
dt:=StrToDateTime(年+月+日)+1
else
ShowMessage('无效的日期格式');
end;