紫微斗数概念

干支与五行

天干、地支、五行、阴阳各自决定排盘的哪一部分,宫干从哪来,命主身主怎么查。

适合:所有人。代码在页尾

排盘从头到尾都建立在干支之上。看懂这一页,盘上那些两字一组的名词就都有着落了。

十天干与十二地支

天干十个:甲乙丙丁戊己庚辛壬癸。地支十二个:子丑寅卯辰巳午未申酉戌亥。

两者依次配对循环,10 与 12 的最小公倍数是 60,因此一轮是六十甲子。 年、月、日、时各配一组干支,合称四柱

庚辰  甲申  丙午  庚寅
年柱  月柱  日柱  时柱

每一柱决定什么

四柱不是并列的装饰,各自驱动排盘的不同部分:

驱动
年柱生年四化、命主身主、十二宫的宫干、大限顺逆、全部年系星
月柱展示用;月份本身(而非月柱)决定命宫与左辅右弼等月系星
日柱展示用;农历日决定紫微起宫与三台八座等日系星
时柱展示用;时辰本身决定命宫、身宫与文昌文曲等时系星

年柱的分量最重

换年时点(正月初一还是立春)之所以是个配置开关,正因为年干支牵动的东西最多—— 一旦改变,四化、命主身主、宫干全跟着变。见 Config 详解

阴阳

干支各自有阴阳,按序号奇偶交替:甲、丙、戊、庚、壬为阳,乙、丁、己、辛、癸为阴; 子、寅、辰、午、申、戌为阳,丑、卯、巳、未、酉、亥为阴。

六十甲子只配同阴阳的干与支(甲子、乙丑…),所以一组干支的干与支阴阳必然相同, 「年干阴阳」与「年支阴阳」永远给出同一个答案。x-iztro 一律按年支判定。

阴阳在排盘里只做一件事,但这件事影响很大——定顺逆

用途规则
大限方向性别阴阳与年支阴阳相同则顺行,相异则逆行
长生十二神同上
博士十二神同上

性别也算阴阳:男为阳、女为阴。所以「阳男阴女顺行,阴男阳女逆行」这句口诀, 说的就是这三处。小限不在其中——小限的方向只看性别,见十二宫

五行

金木水火土。每个天干、每个地支各自属一行。

五行 ≠ 五行局

两个概念名字像,作用完全不同:

  • 五行:单个干支的属性,参考信息
  • 五行局:由命宫干支推出的水二局、木三局、金四局、土五局、火六局, 决定紫微起宫与大限起运岁数

做判断时别搞混:前者是干支的 fiveElements 字段,后者是星盘的 five_elements_class

对冲

地支两两相对,相隔六位即为对冲:子午、丑未、寅申、卯酉、辰戌、巳亥。

这正是对宫的由来——十二宫排成一圈,本宫与隔六位的那一宫地支恰好对冲, 所以对宫的影响最直接。天干也有对冲(甲庚、乙辛、丙壬、丁癸),戊己居中无冲。

宫位的干支从哪来

十二宫的地支是固定的:第一格永远是寅宫,最后一格永远是丑宫,从不改变。

天干则由年干经五虎遁推出:先定寅宫天干,其余十一宫依次顺排。 以本页这张盘为例,生年干为庚,庚年寅宫起戊,于是十二宫干支是:

戊寅 己卯 庚辰 辛巳 壬午 癸未 甲申 乙酉 丙戌 丁亥 戊子 己丑

宫干不是摆设——它决定该宫飞出哪四颗四化星,是飞星派全部判断的起点。 见四化与飞星

另有五鼠遁,由日干推子时天干,用于定时柱。

命主与身主

每个地支各自对应一颗命主星与一颗身主星,查表即得。两者查表的依据不同:

按什么查换命宫重排时
命主(默认派)命宫地支会变
命主(中州派)生年地支不变
身主生年地支不变

中州派把命主也改成按年支

algorithm = zhongzhou 下命主改按生年地支查,因此换命宫起盘(rearranged、 或天盘/地盘/人盘切换)时命主星不再变化。默认派下命主会跟着命宫走。 见 Config 详解

在代码里怎么取

干支、五行、五虎遁五鼠遁、命主身主全部以数据表形式提供,不必自己抄表。

from x_iztro import data

data.heavenly_stems()["jiaHeavenly"].five_elements   # 木
data.earthly_branches()["ziEarthly"].yin_yang        # 阳
data.earthly_branches()["ziEarthly"].crash           # wuEarthly(子午冲)
data.heavenly_stems()["wuHeavenly"].crash            # None(戊无冲)

data.constants().tiger_rule["jiaHeavenly"]           # bingHeavenly(甲年寅宫起丙)
data.constants().rat_rule["jiaHeavenly"]             # jiaHeavenly
data.constants().five_elements_class                 # {'water2nd': 2, ... 'fire6th': 6}

zi = data.earthly_branches()["ziEarthly"]
zi.soul    # tanlangMaj —— 命主
zi.body    # huoxingMin —— 身主

四柱的语言无关标识在 raw_dates.chinese_date 下的 yearly_keys / monthly_keys / daily_keys / hourly_keys; 顶层 chinese_date 是展示串。

概念数据表常量
天干信息data.heavenly_stems()
地支信息data.earthly_branches()
五虎遁constants().tiger_rule
五鼠遁constants().rat_rule
性别阴阳constants().gender
五行局局数constants().five_elements_class

逐字段说明见 RustPythonGo 的数据表一页。

本页目录