//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);
}
function rem(x,w){//广义求余
return tail(x/w)*w;
}
//28宿各种算法
function yesb(y){//年宿
return round(rem(y-14,28));
}
function ysgj(y){//管局宿
var gj=28-rem((floor(((y+36)%56)/2)),28);if(gj==28)gj=0;
return gj;
}
function mesb(y,gzM){//月宿
var mm=(y+4713)*12+gzM+7; //gzM=農暦月,正月為1
var v=round(rem(mm,28));if(gzM<0) v='';
return v;
}
function desb(jd){//日宿
return round(rem((jd+11),28));//jJD就是等效儒略日——前4713年1月1號从0:00到23:59為0(jJD=0)
}
调用:如年28宿“Sukuyou4[yesb(y2)]”
算出来的结果请看《电脑医生万年历》和《福星万年历》。
[此贴子已经被作者于2010-10-21 10:00:07编辑过]