日期的操作(10分)

  • 主题发起人 主题发起人 nter
  • 开始时间 开始时间
N

nter

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎将日期如 '2000-04-02'的月份加一或减一,
不会是加(减)30天吧?
 
用取出copy(s, 6, 2)取出'04',转成integer不就行了
 
用IncMonth函数
function IncMonth(const Date: TDateTime
NumberOfMonths: Integer): TDateTime;
NumberOfMonths为正是增加月份,为付是减少月份。
关于日期的操作,可以查看Delphi Help中的TDateTime type.

 
var
theday:Tdate;
str:string;
begin
theday:=encodedate(2000,5,31)
//获得日期‘2000-5-31’
theday:=incmonth(theday,-3)
//将其减掉2个月,看看减了几天
str:= datetostr(theday);
form1.Canvas.TextOut(100,100,str);
end;

答案是::::‘2000-2-29’,不是‘2000-2-31’
显然,若 theday:=incmonth(theday,-2),也就是到3月分,结果就是
‘2000-3-31’,可见他的函数以近帮你全处理好了,不必你去担心。
 
笑晨的办法是最好的。
 
爽,我准备提的问题居然在这里找到答案了!
 
想说明一点:
Type
TDateTime = type Double;
TDate = type TDateTime;
即日期就是Double类型的实数。
 
接受答案了.
 
后退
顶部