date_sunrise,date_sunset和date_sun_info函数使用哪种算法?

时间:2013-10-24 18:43:09

标签: php

有不同的算法可用于计算太阳的位置,从中可以推导出日出和日落。他们有不同的准确性。有谁知道哪些用于PHP函数date_sunrisedate_sunsetdate_sun_info

2 个答案:

答案 0 :(得分:6)

date_sunrisedate_sunset函数调用date.c中使用php_do_date_sunrise_sunset库的C函数timelib

timelib函数timelib_astro_rise_set_altitude评论很好(see source),并使用generalised sunrise equation来计算昼夜弧。

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

答案 1 :(得分:1)

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

用于日出和日落时间计算的其他更准确的算法是由Jean Meeus的天文算法中描述的算法。 NOAA Sun calculator以及Sunrise-sunset site正在使用这些改进的计算。

您可以在此github project

找到此类算法的PHP实现