Most years have 52 weeks, but years that start on a Thursday and leap years that start on a Wednesday (or Thursday) have 53 weeks.Unit
QESBPCSDateTime
Declaration
Function ISOWeeksInYear(const Year: Word): Integer;
Description
Based on code supplied by Niklas Astram. Most years have 52 weeks, but years that start on a Thursday and leap years that start on a Wednesday (or Thursday) have 53 weeks. Based on code supplied by Niklas Astram
Year | 4-digit year such as 1999. |
DT | Date to take year from. |
Category
Date/Time Arithmetic Routines
Week Based Arithmetic Routines
Year Based Arithmetic Routines
Implementation
function ISOWeeksInYear (const Year: Word): Integer;
var
DOW: Integer;
begin
DOW := ISODayOfWeek (GetFirstDayOfYear (Year));
if (DOW = 4) or ((DOW = 3) and IsLeapYear (Year)) then
Result := 53
else
Result := 52;
End; |
Declaration
Function ISOWeeksInYear(const Year: Integer): Integer;Implementation
function ISOWeeksInYear (const Year: Integer): Integer;
var
DOW: Integer;
begin
DOW := ISODayOfWeek (GetFirstDayOfYear (Year));
if (DOW = 4) or ((DOW = 3) and IsLeapYear (Year)) then
Result := 53
else
Result := 52;
End; |
Declaration
Function ISOWeeksInYear(const DT: TDateTime): Integer;Implementation
function ISOWeeksInYear (const DT: TDateTime): Integer; overload;
begin
Result := ISOWeeksInYear (Date2Year (DT));
End; |
HTML generated by Time2HELP
|
http://www.time2help.com