纳音的简单算法:js源码-明生-k8凯发旗舰

纳音就是干支五行的声音,六十花甲纳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分钟
发表评论
投稿
网站地图