Cita:
Empezado por ixMike
......Ajusta primero las dos fechas, para que coincidan las dos con el mismo día de la semana que NO sea sábado o domingo. Es decir, después de hacer la resta, haz que los dos días se conviertan en lunes, o martes, o miércoles... utiliza la función DayOfWeek o DayOfTheWeek.
-Una vez hecho ese ajuste, Dias:=Dias-(Fecha2-Fecha1)*2/7. Esto es, le resta 2/7 partes de días, o lo que es lo mismo, 2 días de cada semana (los findes). Ahora Fecha1 y Fecha2 son las fechas ya ajustadas.
|
Solo agregando, si no puedes o no quieres ajustar las fechas, puedes hacer esto.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
Fecha : TDateTime;
Dias : integer;
begin
dias := 0;
Fecha := DateTimePicker1.Date;
REPEAT
if DayofWeek(Fecha) in [2..6] then begin Memo1.Lines.Add(DatetoStr(Fecha));
Inc(Dias);
end;
Fecha := Fecha+1;
UNTIL Fecha > DateTimePicker2.Date;
Memo1.Lines.Add('Total dias : '+FloattoStr(Dias));
end;
Salud OS