Buenas, necesitaria una rutina o funcion que me calcule el numero de semana del año al que pertenece una fecha.
Tiene alguien hecho algo asi o sabe como extraerlo?
Un saludo
Juan Jose
procedure TForm1.Button1Click(Sender: TObject);
var
frstDay,toDay : TDateTime;
week : Integer;
begin
frstDay := StrToDate('1/1/96');
toDay := StrToDate(Edit1.Text);
week := Trunc((toDay - frstDay) / 7) + 1;
Label1.Caption := IntToStr(week);
end;
function NumSemana(Fecha:string):integer;
var
PrimerDia:TDate;
begin
{Calculamos primer dia del año}
{First day of year}
PrimerDia:=StrToDate('01/01/'+Copy(Fecha,7,2));
{Calculamos el numero de semana del año}
{Calculate the week of year number}
Result:=Trunc(
(StrToDate(Fecha)-
PrimerDia+
DayOfWeek(PrimerDia)-1
) /7)+1;
end;
function NumSemana(Fecha:string):integer;
var
PrimerDia:TDate;
DiaDelPrimerDia:integer;
begin
{Calculamos primer dia del año}
{First day of year}
PrimerDia:=StrToDate('01/01/'+Copy(Fecha,7,2));
{Calculamos dia de la semana que empieza por lunes}
{Calculate the day of week, begining by monday instead of Sunday}
If DayOfWeek(PrimerDia)-1 =0
then DiaDelPrimerDia:=7
else DiaDelPrimerDia:=DayOfWeek(PrimerDia)-1;
{Calculamos el numero de semana del año}
{Calculate the week of year number}
Result:=Trunc(
(StrToDate(Fecha)-
PrimerDia+
DiaDelPrimerDia-1
) /7)+1;
end;
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 38 guests