Jahre mit 53 Wochen
Aktualisierte Fassung hier
hier
gibt es immer dann, wenn der 1.1. oder der 31.12. des Jahres auf einen Donnerstag fallen.
Zur Verwendung habe ich 2 Routinen geschrieben, Is53Weeks1 und Is53Weeks2.
Die erste ist plattformunabhängig, die zweite benötigt Delphi.
Delphi-Quellcode:
implementation
{$R *.dfm}
//Wolfgang Mix - Delphi-Praxis
//ISO-Standard 8601
function Is53weeks1(y:word):boolean;
var date1,date2:TDate;
begin
date1:=EncodeDate(y,1,1);
date2:=EncodeDate(y,12,31);
if (DayOfTheWeek(date1)=4) or (DayOfTheWeek(date2)=4) then
result:=true else result:=false;
end;
//Wolfgang Mix - Delphi-Praxis
//ISO-Standard 8601
function Is53weeks2(y:word):boolean;
var date:TDate;
begin
date:=EncodeDate(y,1,1);// must be
If(WeeksInYear(date)=53) then result:=true else result:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
var year:integer;
begin
Edit1.Text:=BoolToStr(Is53Weeks1(2009));
end;
end.
Gruß
Wolfgang