A result should be reproducible from the same date, time, place, convention, and engine version. The interface exposes the relevant receipt rather than presenting a symbolic output as an unexplained fact.
User input stays in the browser
The portrait receives a date, optional time, city selection, and explicit settings. The Meihua tool receives a date-time or two positive integers. Calculation happens in page memory. There is no account, upload endpoint, database, analytics event, URL parameter, or generated history.
Calculation rules
IANA civil time
The city map supplies an IANA zone. Historical offsets and daylight
saving are resolved through @js-temporal/polyfill;
ambiguous or non-existent local times are not silently guessed.
When a city is not listed, enter an IANA zone directly. A manual zone
has no coordinates, so true solar time remains unavailable.
Lunar date and solar terms
Gregorian-to-lunar conversion uses lunar-typescript.
Astronomical solar-term instants are calculated in the engine. The
calendar context is shown beside the pillar structure.
Declared boundaries
The year pillar uses the exact Lichun instant. The interface exposes a 23:00 late-Zi day boundary or civil-midnight alternative. Clock time and longitude-corrected true solar time remain separate choices.
Visible arithmetic
Trigram numbers are Qian 1 through Kun 8. Zero remainders read as 8 or 6. Time and two-number casts are deterministic; the page shows every quotient, remainder, primary, nuclear, and changed structure.
The portrait is limited to 1900–2100. When time is unknown, no hour pillar is invented. Near a relevant boundary, the portrait can expose a variant instead of merging two structures into one answer.
A time range is limited to six hours on one civil date. The main cards use the earliest endpoint only as a reference. Distinct pillar positions found at the endpoints and 30-minute samples are listed separately; the tool does not claim a precise birth minute.
For an unknown time, 00:00 is used only as a display reference for the calendar context. It is not treated as an inferred birth time. If the year, month, or day position can change during that civil date, the portrait exposes both date-level positions while keeping the hour pillar absent.
How claims are labelled
Current versions
js-ephemeris-lite@1.2.0 Four Pillars and astronomical solar-term support. lunar-typescript@1.8.6 Lunar date and Meihua date fields. @js-temporal/polyfill@0.5.1 / IANA tzdb Civil offsets, DST gaps and overlaps. meihua-number-time-v0.2 Time/number cast, trigram, moving-line, nuclear, changed, Body/Use. Versions are displayed with the result receipt where relevant. Confirm the exact source inventory and access dates before citing a conversion or textual rule.
Editing and corrections
Corrections are handled as versioned changes rather than silent edits. Errors in calculation rules, source links, terminology, translations, or boundary language are logged on the corrections page. A public submission channel is still required before an indexable release.
English explanations are reviewed for overstatement, unsupported causal claims, and accidental collapse of distinct schools. A source can support a text or calendar fact without supporting every interpretation built on top of it.
What this does not mean
- Reproducibility does not make a symbolic interpretation scientific.
- A declared convention does not make it the only convention.
- An astronomical calculation does not determine a life outcome.
- An unknown input is not filled in for visual completeness.
- The method cannot establish medical, legal, financial, or safety advice.