求助一段八字计算的JS代码转成JAVA 10
/=====================八字计算=====================functionmingLiBaZi(jd,J,ob){//命理八字计算。j...
/=====================八字计算=====================function mingLiBaZi(jd,J,ob){ //命理八字计算。jd为格林尼治UT(J2000起算),J为本地经度,返回在物件ob中 var i, c, v; var jd2 = jd+JD.deltatT2(jd); //力学时 (deltatT2计算TD-UT) var w = XL.S_aLon( jd2/36525, -1 ); //(XL 星历类)(S_aLon太阳视黄经) 此刻太阳视黄经 var k = int2( (w/pi2*360+45+15*360)/30 ); //1984年立春起算的节气数(不含中气) jd += XL.shiCha2(jd2/36525)-J/Math.PI/2; //本地真太阳时(使用低精度算法计算时差) ob.zty = JD.timeStr(jd); //真太阳时计算 jd += 13/24; //转为前一日23点起算(原jd为本日中午12点起算) var D = int2(jd), SC = int2( (jd-D)*12 ); //日数与时辰 v = int2(k/12+6000000); ob.jn = Gan[v%10]+Zhi[v%12]; v = k+2+60000000; ob.jy = Gan[v%10]+Zhi[v%12]; v = D - 6 + 9000000; ob.jr = Gan[v%10]+Zhi[v%12]; v = (D-1)*12+90000000+SC;ob.js = Gan[v%10]+Zhi[v%12]; v-= SC, ob.JS = ''; //全天纪时表 for(i=0; i<13; i++){ //一天中包含有13个纪时 c = Gan[(v+i)%10]+Zhi[(v+i)%12]; //各时辰的八字 if(SC==i) ob.js=c, c = '<font color=red>'+c+'</font>'; //红色显示这时辰 ob.JS += (i?' ':'') + c; }}function show_bz(){ //显示八字 var t = (Ch.value-0) + Ci.value/60 + Cs.value/3600; var jd = JD.JD( Cy.value-0, Cm.value-0, (Cd.value-0)+t/24) - 8/24 - J2000; //取得格林尼治平太阳时(J2000起算) var ob = new Object(); mingLiBaZi(jd,Cj.value/180*Math.PI,ob); var s = '格林尼治平太阳时 ' + JD.setFromJD_str(jd+J2000) +'<br>' + '北京时间(平太阳时) '+ JD.setFromJD_str(jd+J2000+8/24) +'<br>' + '东经'+(-Cj.value)+'度真太阳时 ' + ob.zty +'<br>' + '是时八字 <font cord=red>' + ob.jn+'年 ' + ob.jy+'月 ' + ob.jr+'日 ' + ob.js+'时 ' + '</font><br>' //八字 + '是日时辰表 '+ob.JS;
展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询