mysql_SunRiseSet
1.0.0
MySQL/Mariadb功能可根据日期和纬度/经度计算日出/日落时间。
This implementation is based by the algorithm found on http://web.archive.org/web/20161202180207/http://williams.best.vwh.net/sunrise_sunset_algorithm.htm
在lib_mysqludf_astro下,可以找到更强大的变体作为MySQL负载函数实现。
例如,执行sunriseset.sql的代码
mysql -u <username> -p <yourdb> < SunRiseSet.sql
用日期,您的位置以及您想回来的时间致电该功能(日出,日落)
paramater是:
兴趣日期-MySQL日期格式yyyy-mm-dd
位置纬度 - 浮动
位置经度 - 浮动
东方的阳性和负面的西部。
日出/日落的太阳顶峰:
期望的结果 - 枚举['Sunrise','Sunset']
用您的本地设置替换纬度0.0000和经度0.0000:
-- official sunset/sunrise
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 'official', 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 'official', 'sunrise');
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 90+(50/60), 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 90.833333333, 'sunrise');
-- civil
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 'civil', 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 'civil', 'rise');
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 96, 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 96, 'rise');
-- nautical
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 'nautical', 'set'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 'nautical', 'rise');
-- astronomical
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 'astro', 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 'astro', 'sunrise');
-- self defined sun horizon level
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 86.2, 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 86.2, 'sunrise');