Saju vs Bazi: what actually differs?

The short, honest version — from the code, not folklore.

The short answer

Almost nothing in the arithmetic. Saju (사주, Korean) and Bazi (八字, Chinese) name the same chart — four pillars, eight characters, built from the year, month, day and hour you were born. Korea inherited the system from China centuries ago and gave it a Korean name; the pillars themselves are computed the same way either side of the border. In Bokki's code there is exactly one function, getFourPillars(), and it has no “tradition” argument. Ask it for Seoul or for Beijing and it runs the identical steps. What genuinely changes between the two is not the formula — it is how far your birthplace sits from the meridian your country keeps clock time by, and that turns out to matter more than the label on the chart.

One function, not two traditions

getFourPillars(birthDate, birthTime, placeId) takes a date, a clock time, and a place — never a tradition. Every pillar it returns comes from the same Julian-Day arithmetic and the same 24 solar terms (절기) for the month boundary and 立春 for the year boundary, whether the birthplace is Seoul or Beijing. Pick two cities and the year, month and day pillars come out identical: for a birth on 20 March 1995, both give 乙亥 年 · 己卯 月 · 庚戌 日. The only pillar that can move is the hour pillar, and only because it is the only one that depends on where on Earth you were standing.

Where it genuinely diverges — true solar time

The hour pillar uses apparent solar time at the birthplace, not the clock: your longitude against the timezone meridian, plus the equation of time. Korea keeps time on the 135°E meridian even though the country sits at 126–129°E, so the correction is a steady −32 to −40 minutes almost everywhere. China keeps one time zone on the 120°E meridian, close to its populous eastern coast, so the correction there is usually much smaller: our own PLACES table gives Seoul −40 minutes and Beijing −22 minutes for the same date. That gap is large enough to flip an hour branch. Run the same clock time, 07:25 on 20 March 1995, through Bokki twice: born in Seoul, the corrected time is 06:45, before the 07:00 boundary, giving hour pillar 己卯; born in Beijing, it is 07:03, after the boundary, giving 庚辰. Same formula, same clock time, different city — different hour pillar.

Same clock time, two cities, two different hour pillarsA birth at 07:25 on 20 March 1995, run through Bokki's getFourPillars() twice with no other change but the birthplace. In Seoul (126.98°E, standard meridian 135°E) the true solar time correction is −40 minutes, moving the time to 06:45 — before the 07:00 boundary between 卯 and 辰 — so the hour pillar is 己卯. In Beijing (116.4°E, standard meridian 120°E) the correction is only −22 minutes, to 07:03 — after the boundary — so the hour pillar is 庚辰. The year, month and day pillars (乙亥·己卯·庚戌) are identical for both cities; only the hour pillar depends on where on Earth the birth happened.07:00Seoul · 126.98°E · UTC+907:25 clock-40min06:45 true solar己卯Beijing · 116.4°E · UTC+807:25 clock-22min07:03 true solar庚辰07:25 clock, both citiesyear · month · day pillars are the same for both: 乙亥 · 己卯 · 庚戌
A boundary the two traditions argue about among themselves — 子時

There is one more place the answer can split, and it is not a Korea-versus-China line at all: how to treat 子時, the two hours (23:00–01:00) that straddle midnight. One school, 야자시 (晚子時, “late zi”), keeps the day pillar where it is and takes the hour stem from the next day. Another, 자정 (子正), rolls the day pillar itself over at midnight. Both conventions are argued inside Korean Saju circles and inside Chinese Bazi circles — this split runs through each tradition, not between them. Bokki's calendar library defaults to 야자시, and we pinned that choice with a regression test so a library upgrade cannot silently flip it on us.

What we don't calculate

There is no “Bazi mode” toggle in Bokki — if you want to compare the two traditions for real, the only input that changes anything is the birthplace. Beyond that: we compute exactly four special stars (천을귀인, 도화, 역마, 화개), not the much longer catalogues either tradition also keeps (양인살, 괴강살, 원진살, and more). We do not pick one school's strength method over another's — 억부 and 조후 are both in the engine, laid out in our 용신 article, but 병약, 통관 and 종격 are not. We do not model historical daylight-saving rules, so a birth during a DST period in either country should be checked against a second source. And we never rank Saju above Bazi or the reverse — they are one chart with two names, and the honest differences are the ones above, not a verdict on which is “more correct.”

← Get my reading

Read next

What is Saju? — the four pillars, explained
True solar time (진태양시) — why the hour pillar is not the clock
The Ten Gods (십신) — the same names, either tradition

Questions people actually ask

Is Saju the same as Bazi?

Yes, in the sense that matters for the math: they name the same four-pillar, eight-character chart, built the same way. Saju is the Korean name; Bazi (八字) is the Chinese one, and the system spread from China to Korea centuries ago. Bokki's code has one chart-building function and it does not take a “tradition” argument — Seoul and Beijing run through the identical steps.

Does Bokki calculate Saju and Bazi differently?

No. There is no Bazi mode or Saju mode to switch between. The only input that changes a result is the birthplace and birth time you give it — because the hour pillar depends on true solar time at that place, not on which tradition's name you use for the chart.

Why would the same birth time give a different hour pillar in Seoul versus Beijing?

Because the true solar time correction is a different size in each city. Korea keeps clock time on the 135°E meridian even though the country sits at 126–129°E, so the correction is a steady −32 to −40 minutes almost everywhere. China keeps one time zone on the 120°E meridian, close to its populous eastern coast, so the correction there is usually smaller — our own data gives Beijing −22 minutes for the same date. A gap that size can move a birth across an hour-branch boundary.

Which 子時 convention does Bokki use, 야자시 or 자정?

야자시 (晚子時, “late zi”): a birth between 23:00 and 00:00 keeps the day pillar where it is and takes the hour stem from the next day. This is a genuine school split, but it runs inside both Korean Saju practice and Chinese Bazi practice — it is not a Korea-versus-China line. Bokki pinned its choice with a regression test.

Does Bokki say which tradition is more accurate?

No, and we would not. Saju and Bazi are one chart with two names in Bokki's engine; the honest differences are the true solar time correction and the 子時 school split, not a ranking of one tradition over the other.