Verification

Algorithm & accuracy

The calculation is the product, so it is published and testable. This page runs the real engine in your browser against 30 reference charts and cross-checks every one of them against a completely separate implementation.

Running…

What is being verified

Four Pillars chart

Year, month, day and hour pillars for each reference case, compared against an independent implementation that shares no code with the shipping engine: Julian Day Number arithmetic for the day pillar, Meeus' apparent solar longitude solved iteratively for the solar-term boundaries, and the 五虎遁 / 五鼠遁 stem rules for the month and hour pillars.

Element distribution

Locked to the values produced by the current engine, with a 0.6-percentage-point tolerance. These act as a regression baseline: if any future change silently alters the distribution, this page fails.

Timezone, DST and True Solar Time

Each case shows the daylight-saving offset applied, the longitude correction against the timezone's central meridian, the equation of time, and the resulting true solar time that feeds the Day and Hour pillars.

Language compliance

Every page and script is fetched and scanned for the vocabulary the product is not allowed to use. WuWay is a wellness tool, not a fortune-telling one, and this check keeps it that way.

Reference charts

Thirty birth moments spanning 1949–2026, six continents, both hemispheres, DST on and off, the 23:00–24:00 late-Rat hour, a leap day, a DST gap and a DST overlap.

# Birth moment City DST True solar Pillars (engine) Pillars (independent) Elements % Core / Anchor Result
Loading test cases…

What the algorithm does, in order

01 · Resolve the timezone

The birth city is looked up in an embedded 10,000-city dataset derived from GeoNames, giving latitude, longitude and an IANA timezone identifier. Offsets come from the ICU timezone database via Intl, so historical daylight-saving rules are respected.

02 · Apply daylight saving

The offset actually in force at the birth instant is compared with the zone's standard offset, and the difference is removed to recover local standard time. Births inside a spring-forward gap or a fall-back overlap are detected and flagged on the result page.

03 · Correct to True Solar Time

true solar = local standard + (longitude − central meridian) × 4 min + equation of time. The equation of time uses the NOAA formulation, accurate to a few seconds.

04 · Build the chart in two reference frames

The Year and Month pillars are governed by solar terms, which are global astronomical events — they are read against the birth's absolute instant. The Day and Hour pillars are local by definition — they are read against the true solar local time. This distinction is the single most common source of error in timezone-naive implementations.

05 · Score the five elements

Heavenly stems weigh 1.0, earthly branches 0.8, and each branch's hidden stems 0.3, normalized to 100%. The Day Master determines the Core Element.

06 · Derive the anchors

The Core Element and the element that generates it form the support group; against a neutral expectation of 40%, with the month branch weighted as the strongest influence, the chart is read as Abundant or Depleted. The Anchor Element is then the lowest-supported element among the recognized balancing directions for that state.

An honest limit. The astronomical part of this pipeline is well defined and testable, and the checks above are real. Reading meaning into a chart is an interpretive tradition, not a measurement. WuWay is explicit about which half it is doing.