Neue info:
Wenn ich von ctZivil auf ctGeneral umstelle klappt es. Dann gibt es kaum noch Abweichungen. Dann muss ich im Winter nur noch 1 Stunde abziehen.
Wenn ich jedoch ctAstronomical meint die
Unit, dass die Werte nicht errechenbar sind. Ab 2015-05-15.
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
SunRise,SunSet,DT:TDateTime;
YY, MM, DD, H, M, S, MS:Word;
I1,I2, DM:integer;
D:TDate;
begin
InitLocale;
for I1:=1 to 12 do begin
DM:=DaysInAMonth(2015,I1);
for I2:=1 to DM do begin
D:=EncodeDate(2015,I1,i2);
SunRise:=Sun_Rise(D,+53.143889,+21.786111,ctGeneral); // 8.213889 //21.786111
Memo1.Lines.Add(DateTimeToStr(SunRise));
end;
end;
end;
Nun gibt es nur noch eine Sekunde Abweichung.
Edit1: Im Sommer sind die Abweichungen größer. Aber noch im Sekunden Bereich.