关于日期计算的两个小问题。(5分)

  • 主题发起人 主题发起人 aszou
  • 开始时间 开始时间
A

aszou

Unregistered / Unconfirmed
GUEST, unregistred user!
1、如何将一已知日期加上2年,得到一个新日期;
2、如日期为2002-3-17,如何计算得到2002-3-1?
 
我来说说,看看这样可不可以:
1、将已知日期加上2年,
var oldDate,NewDate:TDate;
begin
NewDate:=StrToDate(IntToStr(StrToInt(DateFormat('yyyy',OldDate))+2)+'-'+DateFormat('mm',OldDate)+'-'+DateFormat('dd',OldDate));
end;
//得到NewDate
2、第二个问题是要得到已知日期的月份的第一天吗?如里是请看如下
var OriginDate,ThisMonthFirtDay,TDate;
begin
ThisMonthFirstDay:=StrToDate(DateFromat('yyyy',OriginDate)+'-'+DateFormat('mm',OriginDate)+'-1');
end;

//这样行吗?

 
var oldDate,NewDate:TDate;
yy,mm,dd:word;
1.
begin
DecodeDate(oldDate,yy,mm,dd);
Inc(yy,2);
NewDate:=EncodeDate(yy,mm,dd);
end;
2.
begin
DecodeDate(oldDate,yy,mm,dd);
dd:=1;
NewDate:=EncodeDate(yy,mm,dd);
end;
 
接受答案了.
 
后退
顶部