ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
九星指北斗九星,我们熟知的北斗七星,在古代实际上有9颗,而随着时间的推移,另外2颗逐渐暗淡,人眼已经不容易观察到。 太乙(太乙神数)、奇门(奇门遁甲)、六壬,并称“三式”,是中国术数三大绝学。太乙以天元为主,测国事;奇门以地元为主,测集体事;六壬以人元为主,测人事。 而太乙、奇门、玄空(玄空风水)中都有与北斗九星相关的内容,其中九数、七色、五行、后天八卦方位都是相通的。 北斗九星中七星为: ~~~ 天枢、天璇、天玑、天权、玉衡、开阳、摇光 ~~~ 另外两星为: ~~~ 洞明、隐元 ~~~ 太乙中称北斗九星为太乙九神: ~~~ 太乙、摄提、轩辕、招摇、天符、青龙、咸池、太阴、天乙 ~~~ 奇门中称北斗九星为奇门九星(也称天盘九星): ~~~ 天蓬、天芮、天冲、天辅、天禽、天心、天柱、天任、天英 ~~~ 玄空中称北斗九星为玄空九星: ~~~ 贪狼、巨门、禄存、文曲、廉贞、武曲、破军、左辅、右弼 ~~~ # 在Lunar实例中可调用以下方法获取九星: 1. .getYearNineStar(sect) > 获取值年九星,`sect`为流派:不传默认为2,表示新年以立春零点起算;1为新年以正月初一起算;3为新年以立春节气交接的时刻起算。 2. .getMonthNineStar(sect) > 获取值月九星,`sect`为流派:不传默认为2,表示新的一月以节交接当天零点起算;3为新的一月以节交接准确时刻起算。 3. .getDayNineStar() > 获取值日九星 4. .getTimeNineStar() > 获取值时九星 在仅知道阴历年月的情况下,可以通过LunarMonth的实例粗略计算月九星: 1. .getNineStar() > 获取值月九星,按正月起寅的方式排。 在仅知道阴历年的情况下,可以通过LunarYear的实例粗略计算年九星: 1. .getNineStar() > 获取值年九星 九星(NineStar)实例中可调用以下方法获取对应的信息: 1. .getNumber() > 获取九数 2. .getColor() > 获取七色 3. .getWuXing() > 获取五行 4. .getPosition() > 获取方位 5. .getPositionDesc() > 获取方位描述,如正北、东南等。 6. .getNameInBeiDou() > 获取北斗九星名称 7. .getNameInXuanKong() > 获取玄空九星名称 8. .getNameInQiMen() > 获取奇门九星名称 9. .getNameInTaiYi() > 获取太乙九神名称 10. .getLuckInXuanKong() > 获取玄空九星吉凶 11. .getLuckInQiMen() > 获取奇门九星吉凶 12. .getYinYangInQiMen() > 获取奇门九星阴阳 13. .getTypeInTaiYi() > 获取太乙九神类型(吉神/凶神/安神) 14. .getSongInTaiYi() > 获取获取太乙九神歌诀 15. .getBaMenInQiMen() > 获取奇门八门 16. .getIndex() > 获取九星序号,从0开始 17. .toString() > 获取描述(九数+七色+五行+北斗九星),如:五黄土玉衡 18. .toFullString() > 获取详细描述 ### 示例代码 ``` const lunar = Lunar.fromDate(new Date()); // 值年九星 const y = lunar.getYearNineStar(); console.log(y.toFullString()); // 值月九星 const m = lunar.getMonthNineStar(); console.log(m.toFullString()); // 值日九星 const d = lunar.getDayNineStar(); console.log(d.toFullString()); // 值时九星 const t = lunar.getTimeNineStar(); console.log(t.toFullString()); // 仅知道年计算年九星 const lunarYear = LunarYear.fromYear(lunar.getYear()); const y2 = lunarYear.getNineStar(); console.log(y2.toFullString()); // 仅知道年月计算月九星 const lunarMonth = LunarMonth.fromYm(lunar.getYear(), lunar.getMonth()); const m2 = lunarMonth.getNineStar(); console.log(m2.toFullString()); ```