首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

incmonth函数碰到2009-02-28!解决思路

2012-02-24 
incmonth函数碰到2009-02-28!把时间调到2009-02-28然后执行Delphi(Pascal) codeprocedure TForm1.Button1C

incmonth函数碰到2009-02-28!
把时间调到2009-02-28然后执行

Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);VAR T:  TDateTime;S:STRING;beginT:=incMonth(NOW(),1);S:=DATETOSTR(T);end;


发现S='2009-03-28',而不是我要的2009-03-31,怎么解决?其他日期好像没有问题,就这个日期有问题![color=#FF0000][/color]

[解决办法]
Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);VAR  T:  TDateTime;  S:STRING;begin  T:=incMonth(NOW(),1);  if (MonthOfTheYear(now)=2) and (dayoftheMonth(now)=28) then    T:= incDay(T,3);  S:=DATETOSTR(T);end;
[解决办法]
1,2楼正解

VAR 
T: TDateTime; 
S:STRING; 
begin 
T:=incMonth(NOW(),1); 
if (MonthOfTheYear(now)=2) and (dayoftheMonth(now)=28) then //判断是2月并且是28天,如果是29天的话同样这样判断,下面的T:=incDay(T,2)
T:= incDay(T,3); 
S:=DATETOSTR(T); 
end; 

[解决办法]
Delphi(Pascal) code
var  dt: TDateTime;begin  dt := RecodeDate(dt,2009,2,28);  dt := IncMonth(dt);  [color=#FF0000]dt := EndOfTheMonth(dt);[/color]  ShowMessage(DateToStr(dt));end;
[解决办法]
var
dt: TDateTime;
begin
dt := RecodeDate(dt,2009,2,28);
dt := IncMonth(dt);
dt := EndOfTheMonth(dt);
ShowMessage(DateToStr(dt));
end;

热点排行