You've already forked lazarus-ccr
tvplanit: Add comment that GetWeekOfYear (in VpMisc) calculates week number according to ISO specification.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4829 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -597,15 +597,16 @@ begin
|
|||||||
Result := trunc(dt1) = trunc(dt2);
|
Result := trunc(dt1) = trunc(dt2);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// Calculates ISO week number (checked with Jan 1, 2016, which is in week 53).
|
||||||
function GetWeekOfYear(ADate: TDateTime): byte;
|
function GetWeekOfYear(ADate: TDateTime): byte;
|
||||||
// was in TvWeekView
|
// was in TvWeekView.
|
||||||
var
|
var
|
||||||
yr, dummy: word;
|
yr, dummy: word;
|
||||||
First: TDateTime;
|
First: TDateTime;
|
||||||
begin
|
begin
|
||||||
DecodeDate(ADate + (8 - DayOfWeek(ADate)) mod 7 - 3, yr, dummy,dummy);
|
DecodeDate(ADate + (8 - DayOfWeek(ADate)) mod 7 - 3, yr, dummy,dummy);
|
||||||
First := EncodeDate(yr, 1, 1);
|
First := EncodeDate(yr, 1, 1);
|
||||||
Result := (trunc(ADate - First - 3 + (DayOfWeek(First) + 1) mod 7) div 7) + 1;
|
Result := trunc(ADate - First - 3 + (DayOfWeek(First) + 1) mod 7) div 7 + 1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user