纳音的简单算法: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分钟