| ardahan | 13.04.2004 - 10:06:09 |
function GetNumberOfWeek(ADate: TDateTime): integer;
var d,m,y,h : Word; Jan: TDateTime; Days : Integer; begin try DecodeDate(ADate, y, m, d); Jan:= EncodeDate(y, 1, 1); h:= DayOfWeek(Jan); Days:= Trunc(Int(aDate) - Jan) + 7 - DayOfWeek(ADate - 1); Inc(Days, 7 * Ord(h in [2..5])); Result := Days div 7; if Result = 0 then if (DayOfWeek(EncodeDate(Pred(y), 1, 1)) > 5) or (DayOfWeek(EncodeDate(Pred(y), 12, 31)) < 5) then Result:= 52 else Result:= 53 else if Result = 53 then if (h > 5) or (DayOfWeek(EncodeDate(y, 12, 31)) < 5) then Result:= 1; except Result := 0; end; end; | |