我需要确定当前日期和日落时间(当地时间)给定特定纬度和经度并使用Delphi(我正在使用XE2)。我找到了this article并使用了SysTools library,但结果与英国公布的表格不一致。
有没有人为此看到过pascal算法?
答案 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