一種實用的日出日落時間計算方法
下面是一種隨經緯度變化的日出日落時間計算方法,我成功運用在一智能路燈控制器中,希望對需要的朋友有幫助。
已知:日出日落時太陽的位置h=-0.833°,要計算地的地理位置,經度Long,緯度G1at,時區zone,UTo為上次計算的日出日落時間,第一次計算時UTo=180°。
(1)先計算出從格林威治時間公元2000年1月1日到計算日天數days;
(2)計算從格林威治時間公元2000年1月1日到計算日的世紀數t,
則 t=(days+UTo/360)/36525;
(3)計算太陽的平黃徑 L=280.460+36000.770×t;
(4)計算太陽的平近點角
G=357.528+35999.050×t
(5)計算太陽的黃道經度
λ=L+1.915×sinG+0.020xsin(2G);
(6)計算地球的傾角 ε=23.4393-0.0130×t;
(7)計算太陽的偏差 δ=arcsin(sinε×sinλ);
(8)計算格林威治時間的太陽時間角GHA:
GHA=UTo-180-1.915×sinG-0.020×sin(2G) +2.466×sin(2λ)-0.053×sin(4λ)
(9)計算修正值e:
e=arcos{[ sinh-sin(Glat)sin(δ)]/cos(Glat)cos(δ)}
(10)計算新的日出日落時間
UT=UTo-(GHA+Long±e);
其中“+”表示計算日出時間,“-”表示計算日落時間;
(11)比較UTo和UT之差的絕對值,如果大于0.1°即0.007小時,把UT作為新的日出日落時間值,重新從第(2)步開始進行迭代計算,如果UTo和UT之差的絕對值小于0.007小時,則UT即為所求的格林威治日出日落時間;
(12)上面的計算以度為單位,即180°=12小時,因此需要轉化為以小時表示的時間,再加上所在的時區數Zone,即要計算地的日出日落時間為
T=UT/15+Zone
上面的計算日出日落時間方法適用于小于北緯60°和南緯60°之間的區域,如果計算位置為西半球時,經度Long為負數。