Why Two People Born on the Same Day Turn Out Different
Not the day — the hour. And sometimes just one minute of it.
Bokki Editorial
The short answer
Two people born on the same calendar day, in the same city, almost always share three of Saju's four pillars: year, month and day. Almost — the clock can still move those three in two narrow places, which the next section names: the stretch just after midnight, before the sun itself reaches midnight, and the minute a solar term begins. Across the rest of the day nobody's birth hour changes them. What usually differs is the fourth pillar, the hour, and it is not the size of the gap that decides how different two charts end up. Run two births in Seoul on 11 April 1997, 03:00 and 20:00, and you get 癸丑 (Ox) against 壬戌 (Dog) — obviously different, seventeen hours apart. Run two births on the same date, 07:32 and 07:33 — one minute apart — and the hour pillar still splits, 乙卯 (Rabbit) against 丙辰 (Dragon). This piece is not about any specific person's chart. It is about how the hour pillar's boundary actually falls, computed the same way Bokki computes anyone's.
Why the hour pillar moves — and the two places the other three do
getFourPillars(birthDate, birthTime, placeId) builds the year, month and day pillars from Julian-day arithmetic and the 24 solar terms, so for most of any day the clock doesn't move them — but not for all of it. The day pillar turns at midnight by the sun, not by the clock: in Seoul on 11 April 1997 the sun reaches midnight at 00:33 clock time, so a birth from 00:00 to 00:32 still gets the previous day's pillar, 壬午, instead of 癸未. And the month pillar turns at the moment a solar term begins, which Bokki reads as one instant in time once you choose a birthplace: 立夏 in 1997 began at 19:19 on the almanac's own UTC+8 table — half a minute before 20:20 Seoul time on 5 May — so a Seoul birth recorded at 20:19 that evening has month pillar 甲辰 and one at 20:20 has 乙巳 (at 立春 the year pillar turns the same way). The hour pillar is different: it depends on where the sun actually was above the birthplace at that moment, not what the clock said. Twelve two-hour branches divide the day — 子 23:00–01:00, 丑 01:00–03:00, and so on up through 卯 05:00–07:00 and 辰 07:00–09:00 — but those boundaries are drawn in apparent solar time, not clock time. Bokki's engine corrects for that with toTrueSolarTime(): longitude against the timezone meridian, plus the equation of time. For Seoul on 11 April 1997 the correction is minus 33 minutes (minus 32.08 for longitude, minus 1.03 for the equation of time that day) — meaning the 卯/辰 boundary, 07:00 by the clock's own logic, actually falls at 07:33 clock time.
Worked example — one minute, two charts
Feed 11 April 1997 in Seoul into the engine at 07:32 and 07:33. Year, month and day pillars come out identical both times: 丁丑, 甲辰, 癸未. The hour pillar does not. 07:32, corrected, lands at 06:59 — still inside 卯 — giving hour pillar 乙卯, whose ten-god relationship to this day master is 食神 (Creativity). 07:33, corrected, lands at 07:00 exactly — the first minute of 辰 — giving hour pillar 丙辰, ten god 正財 (Wealth). Two names for two completely different kinds of read, from one minute on a birth certificate. Ask Bokki's engine the same question without a placeId — no true solar time correction at all — and both 07:32 and 07:33 come back 丙辰. The split isn't hiding in some edge case; it only exists once you apply the correction the calculation actually needs.
What we don't calculate
Bokki does not have a special mode for people born close together, and getFourPillars() takes no argument about birth order — the function has no idea, and no need to know, that two people share a date. We do not rank the two hour pillars in this piece's example against each other; 食神 (Creativity) is not "better" than 正財 (Wealth), and Bokki never says one person's chart outranks another's (D-003). We do not model the accuracy of the recorded birth time itself — hospital and midwife records are often rounded to the nearest few minutes, and a chart built on a rounded time can land on the wrong side of a boundary like this one without either engine or user ever finding out. Summer time, on the other hand, is handled: the engine first takes back out whatever offset the clock was actually running on that date — Seoul's summer time of 1987–88, its clocks of 1954–61 half an hour behind today's — so the example above, from a year with neither, is untouched by it. And the size of the correction is not universal: it runs a steady −32 to −40 minutes almost everywhere in Korea, but a different city keeps a different-sized gap, which is a separate piece's subject (진태양시 and Saju vs Bazi, linked below).
Closing note — three pillars fixed, one minute, one boundary
In short: two people born on 11 April 1997 in Seoul share exactly the same year, month and day pillar — 丁丑, 甲辰, 癸未 — at any clock time from 00:33 on (before that the sun has not reached midnight yet, and the day pillar is still the 10th's 壬午). What splits them is the hour pillar, and the split doesn't scale with how far apart the clock times are: seventeen hours apart gives an unsurprising Ox-versus-Dog difference, but one minute apart, 07:32 against 07:33, gives a full split too — 乙卯 (食神, Creativity) against 丙辰 (正財, Wealth) — because Seoul's true solar time correction of minus 33 minutes has already moved the 卯/辰 boundary from the clock's own 07:00 to 07:33. Call the same two minutes through the engine without a birthplace, and the correction never runs — both times land on 丙辰, and the split is invisible. Nothing here ranks one hour pillar above the other, and nothing here corrects for how precisely a birth certificate actually records its minute; the arithmetic only shows where the boundary truly sits, once you ask it properly.