急求日期运算的程序(100分)

  • 主题发起人 主题发起人 xyt3dnow
  • 开始时间 开始时间
X

xyt3dnow

Unregistered / Unconfirmed
GUEST, unregistred user!
本人在程序设计中用了edit1.text、edit2.text、edit3.text三个控件,想得出以下结果
在edit1.text中输入2002-06-27的记录,在edit2.text中输入 5 (个月),在
edit3.text中出现5月以后的日期结果(2002-011-27),求此程序代码,一定要精确。
 
“出现5月以后的日期结果”是什么意思?按例子,2002-06-27 加 5 变为2002-11-27,
只是n个月后应有的日期?哦,你的意思是不是在现在的时间基础上,未来n个月可有m天,
加上m天后,日期应该是多少?
如果是这样,我回去写个程序试试。
 
用这个函数:
uses Sysutils;
function IncMonth(const Date: TDateTime; NumberOfMonths: Integer): TDateTime;
具体用法看帮助。
 
rocedure TForm1.Button2Click(Sender: TObject);
var
Year, Month, Day : word;
begin
DecodeDate(StrToDate(edit1.Text),Year, Month, Day);
IncAMonth(Year, Month, Day, StrToInt(edit2.Text));
edit3.Text := DateToStr(EncodeDate(Year, Month, Day));
end;
 
var B_Date:TDateTime;
begin
B_Date:=StrToDate(edit1.text);
B_Date:=IncMonth(B_Date,StrToInt(Edit2.Text));
edit3.text:=formatDateTime('yyyy-mm-dd',B_Date);
end;
 
Delphi中,日期型就是浮点型,可以进行加减
你自己看着办
 
系统分析有错
2001-1-31五个月后是6-31?,应该是几天后吧
 
调用数据库来完成这项工作是最好的了,不会错的,用法不用我说了吧。
 
以上说的,可以解决问题了。
 
接受答案了.
 
后退
顶部