日出/日落计算






4.12/5 (11投票s)
2000年7月19日

177115

5436
帮助计算日出和日落时间的 कोड
引言
我在网上搜索了一段根据日期、纬度和经度计算日出/日落的代码,但没有找到用C++编写的且可免费使用的代码。有些人有免费软件,但他们不愿公开源代码,认为它“很有价值”。因此,我决定将其他免费提供的代码转换为大家都可以使用的代码。
我已经编写了以下C++代码。它很大程度上基于我直接从NOAA获得的JavaScript代码。我认为许多应用程序可能需要这些信息,所以请随意使用它来制作自己的免费软件托盘应用程序或其他实用程序。
三个主要函数是
CTime GetSunset(double dLat,double dLon,CTime time);
CTime GetSunrise(double dLat,double dLon,CTime time);
CTime GetSolarNoon(double dLon, CTime time);
它们接收纬度和经度值作为double
类型,以及一个包含您要计算日出/日落日期的CTime
对象。它返回一个UTC时间的CTime
对象。
我还在示例中包含了一个我编写的非MFC托盘图标类。它具有显示托盘图标的基本功能,可以在MFC、Win32和ATL应用程序中使用。可能不如最新的CSystemTray好,但我用它来在Win32中制作非常小的应用程序!!
我还向演示程序添加了更多功能,因为我最初提交的版本几乎没有实际功能。我还添加了代码,以便将其从UTC时间转换过来。
希望对某人有用....
许可证
本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。
作者可能使用的许可证列表可以在此处找到。