节假日、休息日算法

var
i,j,k,len:integer;
//holiday:array of Tdate;
tmpdate:Tdate;
tmplist:tstringlist;
begin
len:=period;

if length(holiday)<1 then
begin
tmplist:=tstringlist.Create;
getcode('节假日','content',tmplist,true,false);
setlength(holiday,tmplist.Count);
for i:=0 to tmplist.count-1 do
  holiday[i]:=_strtodatetime(tmplist.strings[i]);
tmplist.Destroy;


end;

i:=0;
while i<=len do
    begin
      j:=DayOfWeek(CurDate+i);
      if (j=1) or (j=7) then
         len:=len+1
      else
         for k:=0 to length(holiday)-1 do
           begin
             tmpdate:=curdate+i;
             if int(tmpdate)=int(holiday[k]) then
                begin inc(len);break;end;
           end;
      inc(i);
    end;
setlength(holiday,0);
result:=CurDate+len;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值