纳音的简单算法:js源码-明生-凯发官网入口
纳音就是干支五行的声音,六十花甲纳60音。
今天布置了一个日历,参考了一些纳音的简便算法,这里特记一下。
如果四柱算出来了,那么可以通过js数组遍历出纳音。
function jzny(d){
var ny;
if(d=="甲子") ny= "海中金";
if(d=="乙丑") ny= "海中金";
if(d=="丙寅") ny= "炉中火";
if(d=="丁卯") ny= "炉中火";
if(d=="戊辰") ny= "大林木";
if(d=="己巳") ny= "大林木";
if(d=="庚午") ny= "路旁土";
if(d=="辛未") ny= "路旁土";
if(d=="壬申") ny= "剑锋金";
if(d=="癸酉") ny= "剑锋金";
if(d=="甲戌") ny= "山头火";
if(d=="乙亥") ny= "山头火";
if(d=="丙子") ny= "涧下水";
if(d=="丁丑") ny= "涧下水";
if(d=="戊寅") ny= "城头土";
if(d=="己卯") ny= "城头土";
if(d=="庚辰") ny= "白蜡金";
if(d=="辛巳") ny= "白蜡金";
if(d=="壬午") ny= "杨柳木";
if(d=="癸未") ny= "杨柳木";
if(d=="甲申") ny= "泉中水";
if(d=="乙酉") ny= "泉中水";
if(d=="丙戌") ny= "屋上土";
if(d=="丁亥") ny= "屋上土";
if(d=="戊子") ny= "霹雷火";
if(d=="己丑") ny= "霹雷火";
if(d=="庚寅") ny= "松柏木";
if(d=="辛卯") ny= "松柏木";
if(d=="壬辰") ny= "长流水";
if(d=="癸巳") ny= "长流水";
if(d=="甲午") ny= "沙中金";
if(d=="乙未") ny= "沙中金";
if(d=="丙申") ny= "山下火";
if(d=="丁酉") ny= "山下火";
if(d=="戊戌") ny= "平地木";
if(d=="己亥") ny= "平地木";
if(d=="庚子") ny= "壁上土";
if(d=="辛丑") ny= "壁上土";
if(d=="壬寅") ny= "金箔金";
if(d=="癸卯") ny= "金箔金";
if(d=="甲辰") ny= "覆灯火";
if(d=="乙巳") ny= "覆灯火";
if(d=="丙午") ny= "天河水";
if(d=="丁未") ny= "天河水";
if(d=="戊申") ny= "大驿土";
if(d=="己酉") ny= "大驿土";
if(d=="庚戌") ny= "钗钏金";
if(d=="辛亥") ny= "钗钏金";
if(d=="壬子") ny= "桑柘木";
if(d=="癸丑") ny= "桑柘木";
if(d=="甲寅") ny= "大溪水";
if(d=="乙卯") ny= "大溪水";
if(d=="丙辰") ny= "沙中土";
if(d=="丁巳") ny= "沙中土";
if(d=="戊午") ny= "天上火";
if(d=="己未") ny= "天上火";
if(d=="庚申") ny= "石榴木";
if(d=="辛酉") ny= "石榴木";
if(d=="壬戌") ny= "大海水";
if(d=="癸亥") ny= "大海水";
return(ny);
}通过jzny()函数代入干支值就直接得到纳音了,可以免去对天干地支的序号作运算,代码执行速度还可以。
共4191字,大约需要10分钟


