以文本方式查看主题

-  中华农历论坛  (http://bbs.nongli.net/index.asp)
--  历法知识  (http://bbs.nongli.net/list.asp?boardid=2)
----  求二十八宿的算法,年月局日,要简单实用的办法  (http://bbs.nongli.net/dispbbs.asp?boardid=2&id=36254)

--  作者:zgsjzz010
--  发布时间:2010/10/18 23:24:00
--  求二十八宿的算法,年月局日,要简单实用的办法
求二十八宿的算法,年月局日,要简单实用的办法
--  作者:浪-淘-沙
--  发布时间:2010/10/19 8:28:00
--  

chwc

 

hero_hacker

等朋友,对于楼主提的“二十八宿”,都有比较高明的算法。

请楼主与他们联系。

 

他们的软件已经在论坛中公开。楼主也可以下载参考。


--  作者:chwc
--  发布时间:2010/10/19 9:05:00
--  

计算JS代码如下:

//28宿方
var Sukuyou = new Array(\'東方\',\'東方\',\'東方\',\'東方\',\'東方\',\'東方\',\'東方\',\'北方\',\'北方\',\'北方\',\'北方\',\'北方\',\'北方\',\'北方\',\'西方\',\'西方\',\'西方\',\'西方\',\'西方\',\'西方\',\'西方\',\'南方\',\'南方\',\'南方\',\'南方\',\'南方\',\'南方\',\'南方\');
//28宿名1
var Sukuyou2 = new Array(\'角木蛟--吉\',\'亢金龍--凶\',\'氐土貉--凶\',\'房日兔--吉\',\'心月狐--凶\',\'尾火虎--吉\',\'箕水豹--吉\',\'鬥木獬--吉\',\'牛金牛--凶\',\'女土蝠--凶\',\'虛日鼠--凶\',\'危月燕--凶\',\'室火豬--吉\',\'壁水貐--吉\',\'奎木狼--凶\',\'婁金狗--吉\',\'胃土雉--吉\',\'昴日雞--凶\',\'畢月烏--吉\',\'觜火猴--凶\',\'參水猿--凶\',\'井木犴--吉\',\'鬼金羊--凶\',\'柳土獐--凶\',\'星日馬--凶\',\'張月鹿--吉\',\'翼火蛇--凶\',\'轸水蚓--吉\');
//28宿名2
var Sukuyou4 = new Array(\'角\',\'亢\',\'氐\',\'房\',\'心\',\'尾\',\'箕\',\'鬥\',\'牛\',\'女\',\'虛\',\'危\',\'室\',\'壁\',\'奎\',\'婁\',\'胃\',\'昴\',\'畢\',\'觜\',\'參\',\'井\',\'鬼\',\'柳\',\'星\',\'張\',\'翼\',\'轸\');

//算28宿必须用到的数学函数
function floor(x){///截去小數部份,取整;如:11.25只取出11
  return Math.floor(x);
}

function round(x){///小數部份舍入n位數;如:11.205
  return Math.round(x);
}
//28宿各种算法
function yesbgj(y2a){//28宿管局
var gj28=28-rem((floor(((y2+36)%56)/2)),28);if(gj28==28)gj28=0;
return gj28;
}
function yesb(y2){//年28宿
  return round(rem(y2-14,28));
}
function mesb(y,gzM){//月28宿
var mm=(y+4713)*12+gzM+7;
var v=(mm%28);if(gzM<0) v=\'\';
   return v;
}
function riesb(jJD){//日28宿
var v=(jJD+11)%28;//jJD就是等效儒略日——前4713年1月1號从0:00到23:59為0(jJD=0)
return v;
}
调用:如年28宿“Sukuyou4[yesb(y2)]”


--  作者:searchsulin
--  发布时间:2010/11/19 22:32:00
--  
var gj28=28-rem((floor(((y2+36)%56)/2)),28);if(gj28==28)gj28=0;
这里的rem函数在哪里,请指教
--  作者:chwc
--  发布时间:2010/11/20 11:49:00
--  

function rem(x,w){//廣義求余
  return tail(x/w)*w;
}

我忘了发上廣義求余函数,对不起!其它请看:http://bbs.nongli.net/dispbbs_2_36326.html