06 / 15

四柱

four pillars — how a chart is actually computed

A 八字 bā zì chart is eight characters arranged as four pillars — year, month, day, hour — each pillar a stem over a branch. Four pillars, three different clocks: the year pillar turns at 立春 (the solar beginning of spring, around February 4 — not January 1); the month pillar turns at the 12 solar terms; the day pillar is a pure count; the hour pillar is the 时辰 of birth, with two schools for the clock. Everything else in the system — 十神, 藏干, 大运, 流年 — hangs off these eight characters.

Because the boundaries are astronomical (the exact moment the sun crosses each degree), the app computes them with planetary-series math (VSOP87D), and it is honest about the edge cases: a birth within a minute of a boundary gets a warning instead of a silent guess.

the year pillar — 立春, not January 1年柱

The bazi year begins at 立春 lì chūn, "spring establishes" — the instant the sun's apparent longitude crosses 315°, around February 4 each year. A child born on February 3 belongs to the PREVIOUS bazi year; a child born on February 5 belongs to the new one; a child born within minutes of the exact instant gets the app's explicit warning — the pillar may split across schools. This is the most famous trap in 八字: January and early-February births are one bazi year older than their calendar year.

The year pillar's stem is the year's ganzhi stem (2024 = , so the year stem is ), and the year pillar sets the month pillar's stems through 五虎遁 (below).

立春
spring establishes — the year pillar's true New Year (~Feb 4, exact instant varies)

the month pillar — the twelve 节月柱

The solar year divides into 24 节气 terms, and 12 of them — the — turn the month pillar. The month branch is the branch of whichever the birth falls after, and the month stem is derived from the year stem by the 五虎遁 rule: the month (立春 through ) carries the stem that follows the year's rule — and years start it at , and at , and at , and at , and at . The old mnemonic: , , , , , .

Then each following month advances one stem: = means = , = , and so on through the cycle.

节 (approximate date)month branch it opens
立春 ~Feb 4
~Mar 6
~Apr 5
~May 6
~Jun 6
~Jul 7
~Aug 8
~Sep 8
~Oct 8
~Nov 7
~Dec 7
~Jan 6
五虎遁
the year-stem rule that sets the 寅 month's stem
节气
the 24 solar terms; the 12 节 turn the month pillar

the day pillar — a pure count日柱

The day pillar is the Julian day number of the birth date modulo 60, anchored at 2000-01-01 = . No astronomy, no table, no school — pure arithmetic, verifiable by hand (module 5). The day stem of this pillar is the 日主 day master: the lens of the whole reading.

the hour pillar — two schools of the clock时柱

The hour branch is the 时辰 of birth (module 4's table), and the hour stem comes from the day stem by the 五鼠遁 rule: and days start the hour at , and at , and at , and at , and at . Mnemonic: , , , , , . Each later 时辰 advances one stem.

The controversy is the clock itself. The 时钟 school reads the local clock time. The 真太阳时 school corrects it twice: for longitude (the sun is not overhead at 12:00 when you are 6° off the timezone's meridian) and for the equation of time (the earth's orbit makes solar noon drift up to ~16 minutes around mean noon). The app computes both honestly and shows which school it used — the choice is yours, and the school is named. If no longitude is given, the app falls back to clock school rather than pretend precision.

五鼠遁
the day-stem rule that sets the 子 hour's stem
真太阳时
true solar time — clock time corrected for longitude and the equation of time
时钟
the plain clock school — local standard time as read

a worked example — 2000-01-01, 12:00, Beijing

Born at noon on January 1, 2000. Year: the date is before 立春, so the bazi year is 1999 = . Month: January 6's has not happened yet, so the month branch is still from the previous December's — and the year stem sets the month at (), so the month is ten seats back around the stem ring: . Day: JDN 2451545, the anchor itself — . Hour: noon is ; the day stem sets the hour at , so the hour (six steps later) is . The chart: · · · . Every one of those steps is public arithmetic — type the same numbers into the app and it must agree.