//GET LATITUDE
latitude = document.getElementById("latit").value;
L = latitude;
//GET JULIAN DAY
Now=new Date();
Now_Y=Now.getYear();
if (Now_Y < 70) { Now_Y=Now_Y*1+2000; }
if (Now_Y < 1900) { Now_Y=Now_Y*1+1900; }
Now_M=Now.getMonth(); // Jan-Dec = 0-11
Now_D=Now.getDate(); // 1-31
Now_H=Now.getHours(); // 0-23
Now_N=Now.getMinutes(); // 0-59
Now_S=Now.getSeconds(); // 0-59
Now_U=Now.getMilliseconds(); // 0-999
Now_T=Now.getTime(); // miliseconds since 1970-01-01
Now_O=Now.getTimezoneOffset(); // in minutes
Now_W=Now.getDay(); // weekday: Sun-Sat = 0-6
Now_J= // day of year (Julian day)
Math.round(( // ...account for DST
(new Date(Now_Y,Now_M,Now_D)) // ...most recent midnight
- (new Date(Now_Y,0,0))) // ...Dec. 31st midnight
/86400000); // ...mili-seconds per day
Gmt_N=Now_N+Now_O;
Gmt=new Date(Now_Y,Now_M,Now_D,Now_H,Gmt_N,Now_S);
Gmt_Y=Gmt.getYear();
if (Gmt_Y < 70) { Gmt_Y=Gmt_Y*1+2000; }
if (Gmt_Y < 1900) { Gmt_Y=Gmt_Y*1+1900; }
Gmt_M=Gmt.getMonth(); // Jan-Dec = 0-11
Gmt_D=Gmt.getDate(); // 1-31
Gmt_J= // day of year (Julian day)
Math.round(( // ...account for DST
(new Date(Gmt_Y,Gmt_M,Gmt_D)) // ...most recent midnight
- (new Date(Gmt_Y,0,0))) // ...Dec. 31st midnight
/86400000); // ...mili-seconds per day
alert("Julian Day: "+Gmt_J);
J = Gmt_J;
P = Math.asin(0.39795*Math.cos(0.2163108 + 2*Math.atan(0.9671396*Math.tan(0.00860*(J-186)))));
alert("P is : "+P)
pi = 3.14159265;
var D = 24 - (24/pi)*Math.acos((Math.sin(0.8333*pi/180) + Math.sin(L*pi/180)*Math.sin(P))/ (Math.cos(L*pi/18
0)*Math.cos(P)));
있는지 확인
(그것을 테스트하기 위해 나는 172 J 변경) 귀하의 경우와 같은 혼동을 피하기 위해 코드를 여러 줄로 나누십시오. 시험해 보면 "오류"가 어디서 왔는지 알 수 있습니다. –
@ NunoGonçalves..i,이 부분에서 오는 "* Math.tan [0.00860 * (J-186)]" – Kunal
아마 J에 문제가있을 수 있습니다 ... 좋은 가치를 반환하는지 확인하십시오 ... – LolCat