(CodeLib-Manager)
Registriert seit: 10. Jun 2002
4.648 Beiträge
Delphi XE Professional
|
Re: Wie ermittle ich, welche Zeitzone (Sommer/Winter) z.Zt.
25. Mär 2008, 16:32
Aus der unit SRUtils von Simon Reinhardt:
Delphi-Quellcode:
function IsSummertime(ADate:TDateTime):boolean;
var AYear,
AMonth,
ADay : word;
Beginn,
Ende : TDateTime;
begin
try
ADate := trunc(ADate);
DecodeDate(ADate, AYear, AMonth, ADay);
if AYear < 1980 then
{ Keine Sommerzeit vor 1980 }
Result := False
else begin
{ Beginn der Sommerzeit: }
Beginn := EncodeDate(AYear, 3, 31);
while DayOfWeek(Beginn) <> 1 do
Beginn := Beginn-1;
{ Ende der Sommerzeit: }
if AYear <= 1995 then
{ bis 1995: letzter So im September }
Ende := EncodeDate(AYear, 9, 30)
else
{ ab 1996: letzter So im Oktober }
Ende := EncodeDate(AYear, 10, 31);
while DayOfWeek(Ende) <> 1 do
Ende := Ende - 1;
Result := (ADate>=Beginn) and (ADate<Ende);
end;
except
Result := False;
end;
end; {IsSummertime}
Thomas
|
|
Zitat
|