SkillHub

bazi-calculator

v1.0.0

Calculate a person’s Four Pillars (BaZi / Eight Characters) from birth date and time using sexagenary-cycle offsets from one trusted reference datetime that already has known year/month/day/hour pillars. Also calculate DaYun (10-year luck cycles) when gender is provided, and include the current LiuN...

Sourced from ClawHub, Authored by wingchiu

Installation

Please help me install the skill `bazi-calculator` from SkillHub official store. npx skills add wingchiu/bazi-calculator

BaZi Calculator

Calculate Year/Month/Day/Hour pillars with a single reference point.

Quick Start

  1. Use references/reference-verified.json (or your own verified reference JSON) with one trusted reference datetime and its four pillars.
  2. Run:
python3 scripts/calc_bazi.py 
  --birth "1992-08-14 21:35" 
  --tz "Asia/Shanghai" 
  --reference references/reference-verified.json 
  --gender male
  1. Return results left-to-right as:
  2. Hour pillar
  3. Day pillar
  4. Month pillar
  5. Year pillar
  6. Eight characters (Hour Day Month Year)

Workflow

1) Validate inputs

  • Require birth datetime (YYYY-MM-DD HH:MM).
  • Require timezone (default Asia/Shanghai if omitted).
  • Require one reference JSON with:
  • reference_datetime
  • reference_pillars.year/month/day/hour

2) Compute offsets from reference

  • Year offset: LiChun-adjusted year difference (approximation: Feb-04 00:00 local).
  • Month offset: calendar month difference.
  • Day offset: calendar day difference.
  • Hour offset: 2-hour bin difference (Zi starts at 23:00).

3) Shift each base pillar in 60-cycle

  • target_pillar = shift(reference_pillar, offset mod 60) for year/month/day/hour separately.

4) Present output

Birth (local): 1992-08-14 21:35 (Asia/Shanghai)
Hour Pillar: 丙戌
Day Pillar: 癸亥
Month Pillar: 丙申
Year Pillar: 壬申
Eight Characters (L→R Hour/Day/Month/Year): 丙戌 癸亥 丙申 壬申

Notes

  • This is a deterministic reference-based method.
  • Accuracy depends on correctness of the chosen reference and boundary rules.
  • For professional-grade astrology, validate solar-term boundaries and true solar time adjustments.