Boundaries
The five minutes that decide a chart
Two births eight minutes apart can produce different year, month and day pillars. Every calculator makes a choice at those edges; almost none publishes it. These are the five boundaries, with the actual output from this engine beside a second implementation.
Every figure below is computed from the engine when this page is built, not transcribed by hand. Last rebuilt 2026-10-20.
The five
The day rolls at 23:00, not at midnight
子时换日
| Birth (Beijing clock) | True solar | Year | Month | Day | Hour |
|---|---|---|---|---|---|
| 20 October 2026 22:30 | 22:31 | 丙午 | 戊戌 | 丁卯 | 辛亥 |
| 20 October 2026 23:30 | 23:31 | 丙午 | 戊戌 | 戊辰 | 壬子 |
| 21 October 2026 00:30 | 00:31 | 丙午 | 戊戌 | 戊辰 | 壬子 |
23:30 on the 20th and 00:30 on the 21st produce the identical chart — 戊辰 壬子. The day pillar rolls at 23:00, not at midnight, so an hour before midnight already belongs to the next day. 22:30 is still 丁卯.
This is the 子时 rule in its common form (晚子时归次日). The alternative convention keeps 23:00–24:00 on the current day; WuWay uses the first, and does not offer a toggle, because a chart that silently changes convention between two sites is worse than one that states its own. If you were born between 23:00 and midnight, your day pillar is the one thing to double-check elsewhere.
True solar time can move your birthday
真太阳时
Kashgar sits at 75.9898°E but keeps Beijing time, whose meridian is 120°E. The sun there is roughly 176 minutes behind the clock.
| Birth (Beijing clock) | True solar | Solar date | Year | Month | Day | Hour |
|---|---|---|---|---|---|---|
| 20 October 2026 00:00 | 21:19 | 2026-10-19 | 丙午 | 戊戌 | 丙寅 | 己亥 |
| 20 October 2026 00:40 | 21:59 | 2026-10-19 | 丙午 | 戊戌 | 丙寅 | 己亥 |
| Control: Beijing 19 October 2026 12:00 | 12:00 | 2026-10-19 | 丙午 | 戊戌 | 丙寅 | 甲午 |
Both Kashgar births are dated 20 October on the certificate, and both get 丙寅 as the day pillar — which the control row shows is 19 October’s pillar. Two people born either side of local midnight, forty minutes apart, are on the same solar day as far as the chart is concerned.
The correction is -176.0 min from longitude plus 15.3 min of equation of time = -160.8 min total at this date. Tools that skip true solar time give both Kashgar rows a 20 October day pillar and an hour pillar taken from 00:xx, which is a different chart.
A leap month does not create a month pillar
闰月
2025 has a leap sixth lunar month (闰六月). If the month pillar followed the lunar calendar, the leap month would need a pillar of its own. It does not — the month pillar follows the solar terms, and only 立秋 moves it.
| Date | Lunar date | Governing term | Year | Month | Day |
|---|---|---|---|---|---|
| 10 July 2025 | 六月十六 | 小暑 | 乙巳 | 癸未 | 庚辰 |
| 25 July 2025 | 闰六月初一 | 大暑 | 乙巳 | 癸未 | 乙未 |
| 10 August 2025 | 闰六月十七 | 立秋 | 乙巳 | 甲申 | 辛亥 |
The leap month begins on 25 July and the month pillar is unchanged (癸未 before, 癸未 after). It changes at 立秋, and 10 August 2025 is already 甲申. The month pillar tracks the sun’s position, not the moon’s.
This is why “which lunar month was I born in” is the wrong question for a BaZi chart, and why a converter that maps lunar month to month pillar will be wrong for anyone born in, or just after, a leap month.
The year flips on a different date in New York
立春
立春 is a single instant for the whole planet: 2026-02-04 04:02:08 Beijing time. In New York that same instant is 3 February 2026, 15:02. The year pillar changes when the instant passes, not when the local calendar page turns.
| Birth | Year | Month | Day | Hour |
|---|---|---|---|---|
| Beijing 4 February 2026 03:58 | 乙巳 | 己丑 | 己酉 | 丙寅 |
| Beijing 4 February 2026 04:06 | 丙午 | 庚寅 | 己酉 | 丙寅 |
| New York 3 February 2026 14:58 | 乙巳 | 己丑 | 戊申 | 己未 |
| New York 3 February 2026 15:06 | 丙午 | 庚寅 | 戊申 | 己未 |
Eight minutes apart in Beijing flips both the year and the month pillar: 乙巳 己丑 → 丙午 庚寅. The same flip happens on 3 February in New York. A tool that tests “is the birth date after 4 February” gets every New York birth in that window wrong by a whole year pillar.
Note which pillars moved and which did not. The day pillar is untouched in both cities (己酉 in Beijing, 戊申 in New York) because it is a local-midnight matter, while the year and month are read against the absolute instant. Mixing those two frames is the single most common structural bug in BaZi calculators.
Where our own cross-check runs out
校验盲区
WuWay cross-checks its engine against a second implementation that shares no code with it. That implementation is honest about its precision in its own source header: the Meeus low-precision series is good to about ±15 minutes. So it can confirm ordinary charts but it cannot decide a birth inside the last few minutes before a solar term. This is that limit, measured.
| Offset from 立春 | Engine | Independent | Agree |
|---|---|---|---|
| -20 min | 乙巳 己丑 | 乙巳 己丑 | yes |
| -15 min | 乙巳 己丑 | 乙巳 己丑 | yes |
| -10 min | 乙巳 己丑 | 乙巳 己丑 | yes |
| -6 min | 乙巳 己丑 | 丙午 庚寅 | NO |
| -5 min | 乙巳 己丑 | 丙午 庚寅 | NO |
| -4 min | 乙巳 己丑 | 丙午 庚寅 | NO |
| -3 min | 乙巳 己丑 | 丙午 庚寅 | NO |
| -2 min | 乙巳 己丑 | 丙午 庚寅 | NO |
| -1 min | 乙巳 己丑 | 丙午 庚寅 | NO |
| 0 (the instant) | 乙巳 己丑 | 丙午 庚寅 | NO |
| +5 min | 丙午 庚寅 | 丙午 庚寅 | yes |
They agree from 10 minutes out and disagree inside roughly 6 minutes: the independent implementation already reports the new month while the engine, using a higher-precision series, still has the old one. Neither is broken. The cross-check simply stops being evidence that close to a term, and this page says so rather than quoting a clean 30/30 as if it covered every case.
The 30 charts on /tests all sit clear of a boundary, which is why they can be compared at all. For a birth genuinely inside that window, the engine emits a jieqi-boundary warning and the honest answer is to read both sides — which is what the classical practice does anyway.
What to do if you were born near a boundary
If your birth time is within about twenty minutes of 23:00, of a two-hour hour boundary, or of a solar term, the chart is genuinely ambiguous and no calculator can resolve it for you. WuWay flags it in the reading instead of pretending to certainty. The honest move is to read both sides and keep whichever actually describes the life — which is what practitioners did before any of this was software.
The engine emits three warnings for exactly these cases: hour-boundary,
jieqi-boundary, and dst-gap / dst-ambiguous for clock
times that did not exist or occurred twice.
The full verification run · 30 worked reference charts · Calculate your own