http://www.pudn.com/downloads270/sourcecode/windows/csharp/detail1235934.html 你可以试试
众所周知的:当太阳升起的太阳的位置,并设置H = -0.833°,你要计算的地理位置,经度纬度G1at龙,时区,区反对派最后的日出和日落时间计算,首先计算反对派= 180°。
(1)第一种计算法GMT 2000年1月1日AD的数量来计算的天数天;
(2)本世纪的计算数量的T GMT 2000年1月1日之日起计算,T =(daysUTo/360)/ 36525;
(3)计算太阳平黄径L = 280.46036000.770×吨;
(4)计算的平均太阳?= 357.52835999.050×吨的异常
(5)计算太阳的黄道经度λ= L1.915×sinG0.020xsin(2G);
(6)地球倾斜ε= 23.4393-0.0130×吨;
(7)计算的太阳的偏差δ=反正弦(sinε是×sinλ);
(8)太阳高度角的计算GMT GHA:GHA =反对派-180-1.915×唱0.020×罪(2G)2.466所述罪(2λ)-0.053 *罪(4λ)
(9)计算的修正值E:E =阿科斯罪(δ)? SINH罪(Glat)] /的COS(Glat)COS(δ)}
(10)日出和日落时间计算UT的反对派(GHALong的±E)“来计算的日出时间,” - “表示计算日落时间;
(11)的绝对价值的比较反对派和UT的区别,如果大于0.1°0.007小时UT的日出和日落时间值,重新开始从步骤(2)迭代计算,如果反对派是UT的绝对值所不同的是小于0.007小时,UT正在寻求格林威治日出和日落时间;
(12)上述计算度为单位,即180°= 12小时,并因此需要进行转换的时间以小时为单位,再加上区的时区数目,计算出土地的日出和日落时间T = UT日出和日落的时间/ 15Zone上述计算方法是适用于小于地区介于北纬60°和60°S,如果计算出的位置为西半球,经度龙是否定的。