## 太岁方位 四库全书收录的《御定月令辑要》曰:“太岁者,主宰一岁之尊神。凡吉事勿冲之,凶事勿犯之,凡修造方向等事尤宜慎避。太岁所在之方不宜兴工动土,否则必有灾祸。” 经常听说的太岁头上动土,就出自这里。 本命年,也就是值太岁。 逐年太岁方位参考下表: | 年份地支 | 子 | 丑 | 寅 | 卯 | 辰 | 巳 | 午 | 未 | 申 | 酉 | 戌 | 亥 | |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | 太岁方位 | 正北 | 东北 | 东北 | 正东 | 东南 | 东南 | 正南 | 西南 | 西南 | 正西 | 正北 | 正北 | 逐年太岁方位在LunarYear对象中获取(这种用于只知道年的情况): 1. .getPositionTaiSui() > 获取当年的太岁方位,如:震 2. .getPositionTaiSuiDesc() > 获取当年的太岁方位描述,如:北方 如果能确定日,则可以使用Lunar对象中的方法获取精确的年太岁方位: 1. .getYearPositionTaiSui(sect) > 获取当日所在年的太岁方位,如:震,
sect
为流派:不传默认为2,表示新年以立春零点起算;1为新年以正月初一起算;3为新年以立春节气交接的时刻起算。 2. .getYearPositionTaiSuiDesc(sect) > 获取当日所在年的太岁方位描述,如:北方,
sect
为流派:不传默认为2,表示新年以立春零点起算;1为新年以正月初一起算;3为新年以立春节气交接的时刻起算。 逐月太岁方位参考: 正月、五月、九月在东北方位, 三月、七月、十一月在西南方位, 四月、八月、十二月在东南方位, 二月、六月、十月太岁方位干中藏。 每年农历二月、六月、十月这三个月的太岁方是月份各自对应的天干方位:甲、乙为东方;丙、丁属南方;戊、己为中央;庚、辛为西方;壬、癸为北方。 逐月太岁方位在LunarMonth对象中获取(这种用于只知道年月的情况): 1. .getPositionTaiSui() > 获取当月的太岁方位,如:震 2. .getPositionTaiSuiDesc() > 获取当月的太岁方位描述 如果能确定日,则可以使用Lunar对象中的方法获取精确的月太岁方位: 1. .getMonthPositionTaiSui(sect) > 获取当日所在月的太岁方位,如:震,
sect
为流派:不传默认为2,表示新的一月以节交接当天零点起算;3为新的一月以节交接准确时刻起算。 2. .getMonthPositionTaiSuiDesc(sect) > 获取当日所在月的太岁方位描述,如:北方,
sect
为流派:不传默认为2,表示新的一月以节交接当天零点起算;3为新的一月以节交接准确时刻起算。 逐日太岁方位参考: 甲子、乙丑、丙寅、丁卯、戊辰、已巳,太岁在东方; 丙子、丁丑、戊寅、已卯、庚辰、辛巳,太岁在南方; 戊子、已丑、庚寅、辛卯、壬辰、癸巳,太岁在中宫; 庚子、辛丑、壬寅、癸卯、甲辰、乙巳,太岁在西方; 壬子、癸丑、甲寅、乙卯、丙辰、丁巳,太岁在北方。 其余日期,太岁在每年的年太岁方位。 逐日太岁方位在Lunar对象中获取: 1. .getDayPositionTaiSui(sect) > 获取当日的太岁方位,如:震,
sect
为流派:不传默认为2,表示新年以立春零点起算;1为新年以正月初一起算;3为新年以立春节气交接的时刻起算。 2. .getDayPositionTaiSuiDesc(sect) > 获取当日的太岁方位描述,如:北方,
sect
为流派:不传默认为2,表示新年以立春零点起算;1为新年以正月初一起算;3为新年以立春节气交接的时刻起算。 ### 示例代码
javascript
java
// v1.2.20 var day = Lunar.fromDate(new Date()); var year = LunarYear.fromYear(day.getYear()); var month = year.getMonth(day.getMonth()); console.log(day.toString()); console.log('年太岁方位:' + year.getPositionTaiSui()); console.log('年太岁方位:' + year.getPositionTaiSuiDesc()); console.log('月太岁方位:' + month.getPositionTaiSui()); console.log('月太岁方位:' + month.getPositionTaiSuiDesc()); console.log('日太岁方位:' + day.getDayPositionTaiSui()); console.log('日太岁方位:' + day.getDayPositionTaiSuiDesc()); console.log('年太岁方位:' + day.getYearPositionTaiSui()); console.log('年太岁方位:' + day.getYearPositionTaiSuiDesc()); console.log('月太岁方位:' + day.getMonthPositionTaiSui()); console.log('月太岁方位:' + day.getMonthPositionTaiSuiDesc());
// v1.2.16 Lunar day = Lunar.fromDate(new Date()); LunarYear year = LunarYear.fromYear(day.getYear()); LunarMonth month = year.getMonth(day.getMonth()); System.out.println(day.toString()); System.out.println("年太岁方位:" + year.getPositionTaiSui()); System.out.println("年太岁方位:" + year.getPositionTaiSuiDesc()); System.out.println("月太岁方位:" + month.getPositionTaiSui()); System.out.println("月太岁方位:" + month.getPositionTaiSuiDesc()); System.out.println("日太岁方位:" + day.getDayPositionTaiSui()); System.out.println("日太岁方位:" + day.getDayPositionTaiSuiDesc());