如何使用Delphi计算当前日期的日出和日落时间

时间:2011-12-23 12:44:16

标签: delphi delphi-xe2

我需要确定当前日期和日落时间(当地时间)给定特定纬度和经度并使用Delphi(我正在使用XE2)。我找到了this article并使用了SysTools library,但结果与英国公布的表格不一致。

有没有人为此看到过pascal算法?

3 个答案:

答案 0 :(得分:6)

一些随机网站:

答案 1 :(得分:3)

在这里你可以找到c,c ++,pascal和其他的一些实现:

http://www.sci.fi/~benefon/stuff.html

对于pascal,你可以去这里:

http://www.sci.fi/~benefon/SUNDAY.PAS

另外,您是否考虑了夏令时?

您可以找到的另一个有用的链接是:

http://www.delphiarea.com/products/delphi-components/suntime/

这是计算日出和日落时间的一个组成部分。

希望这会对你有所帮助。

答案 2 :(得分:3)

您需要什么样的时间?对于"上升"有几个定义。和"夕阳" (即民用,航海,天文)。与已发布的表格进行比较时,您还需要了解这些表格的计算方式(地心位置与否,标准时间或本地时间等)以及使用的算法为您提供的结果。还有一些近似算法只使用几个术语,更精确一个使用更多。另外,要注意IEEE浮点问题,在某些情况下,它们会大大降低精度。

此类算法的最佳来源之一是Jean Meeus' Astronomical Algorithms (1998), 2nd edition