计算两个日期之间的天数(除去星期六,星期天)!!!!

解决方案 »

  1.   

    >>不知道时间是否可以循环判断
    不錯, 這種效率不是很好, 但思路但比較清楚!! 如果兩個日期相差不遠, 還是很好的解決方法!!
    >>楼上的如何知道每个日期是星期几
    用 DayOfTheWeek
      

  2.   

    function datediff(d1,d2:TDateTime)
    var
      a,b,c,i:integer;
    begin
      a:=round(d2-d1); //a 为包括星期六、天的天数
      b:=a div 7; //b为周数
      c:=a mod 7;
      
      a:=a-b*2;
      for i:=0 to c
      begin
        if dayofweek(d1+i)=1 or dayofweek(d1+i)=7 then
          a:=a-1;
      end;
      return a;
    end;
      

  3.   

    OK 有办法
    var time1:tdatetime;//<----开始时间
    var time2:tdatetime;//<----结束时间
    var a:integer;//<-----间隔的天数
    begin
       a:=0;
       time1:=now;
       time2:=now+5;
       while (time2-time1)>1 do
         begin
           if not (DayOfTheWeek(time1)=6) or (DayOfTheWeek(time1)=7)  then
             a:=a+1;
           time1:=time1+1;
         end;
    end;