1

有不同的算法可用于计算太阳的位置,从中可以得出日出和日落。它们具有不同的准确性。有谁知道哪个用于 PHP 函数date_sunrisedate_sunset以及date_sun_info

4

2 回答 2

9

date_sunriseanddate_sunset函数调用date.cphp_do_date_sunrise_sunset中的 C 函数,该函数使用该库。timelib

timelib函数timelib_astro_rise_set_altitude有很好的注释(参见源代码),并使用广义日出方程来计算昼夜弧。

date_sun_info函数也调用相同的timelib函数。

于 2013-10-24T19:01:03.743 回答
1

PHP 使用Paul Schlyter 的公共领域算法,在他的网站上有更多信息:http: //www.stjarnhimlen.se/comp/riset.html

其他更准确的日出和日落时间计算算法是 Jean Meeus 在 Astronomical Algorithms中描述的算法。NOAA Sun 计算器以及Sunrise-sunset 站点正在使用这些改进的计算。

您可以在此github 项目中找到此类算法的 PHP 实现

于 2017-03-16T23:50:20.187 回答