# Конвенції BaZi

Введіть один момент народження в два калькулятори BaZi і отримаєте дві різні карти. Іноді різного **денного господаря**, тобто ієрогліф, на якому побудовано все читання. Це не помилка одного з них. Під кожною картою лежать чотири конвенції, у кожної є історія, і калькулятори застосовують їх мовчки і по-різному.

Нижче наша відповідь по кожній з чотирьох. Вони оголошені в полі `disclaimer` кожної відповіді, тому їхня зміна це breaking change, а не рефакторинг.

## 1. Де починається рік: Lichun чи китайський Новий рік

**Наша відповідь: Lichun (立春), точний момент.**

BaZi це сонячна система всередині місячно-сонячного календаря. Місячні стовпи прив'язані до двадцяти чотирьох сонячних термінів, тобто до положень Сонця, а не фаз Місяця, і рік іде за тією ж логікою: він повертається на Lichun, приблизно 4 лютого. Китайський Новий рік це інше: перший молодик місячного року, він гуляє від кінця січня до кінця лютого.

Народження в проміжку належить одній тварині за одним правилом і іншій за другим. Обидва правила справжні. Ми беремо Lichun, і момент береться з ефемерид, а не з дати «4 лютого».

## 2. Де починається доба: 23:00 чи опівніч

**Наша відповідь: 23:00 за годинником місця народження.**

Традиційна доба це дванадцять подвійних годин, і перша з них, година 子, іде з 23:00 до 01:00. Всі інші вкладаються в один календарний день. Година 子 сидить верхи на опівночі, і з цього єдиного структурного факту росте вся суперечка: якщо година 子 відкриває добу, народження о 23:30 вже належить завтрашньому дню.

Це та вісь, яка змінює денного господаря. Пересунувши стовп дня, ви не уточнили карту, ви замінили її.

## 3. Чи виправляється годинник під довготу місця

**Наша відповідь: за запитом, і тільки для дня і години.**

Більшу частину історії цієї системи питання не могло виникнути: місцевий час і був сонячним. Часові пояси це винахід епохи залізниць, і щойно країна живе за одним годинником, той годинник збігається з Сонцем лише на одному меридіані. Китай крайній випадок: один пояс на шістдесят градусів довготи, тож народження в Кашгарі відстоїть від сонячного полудня майже на три години за пекінським годинником.

```bash frame="terminal"
curl -X POST https://api.astroway.info/v1/chinese/true-solar-time \
  -H "X-Api-Key: aw_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "date": "1995-06-15", "time": "09:20:00", "timezoneOffset": 8, "longitude": 75.9 }'
```

<Aside type="caution" title="Поправка торкається дня і години, і на цьому зупиняється">
Lichun і дванадцять 節 це моменти на світовому годиннику: Сонце доходить до 315° один раз, і кожне народження на Землі або до цього, або після. Показання сонячного годинника говорить, де стоїть спостерігач, а не коли настав момент. Тому подавати виправлений годинник у межі року і місяця означає ставити їм неправильне питання.

Ціна помилки конкретна: пекінське народження о 23:00 4 лютого 1988 року, тобто **через сімнадцять хвилин після Lichun**, виправляється назад на 22:31 і отримало б попередній сонячний рік, попередній місяць, іншого денного господаря і інший набір десяти богів. Ми цю помилку зробили і виправили до релізу.
</Aside>

## 4. Що робити з літнім часом

**Наша відповідь: це знає тільки той, хто викликає.**

Поле `timezoneOffset` це зсув, за яким **фактично йшов годинник** у момент народження. Пекінське народження 1988 року йшло за UTC+9, а не +8, бо Китай тримав літній час з 1986 по 1991. Жодна арифметика на нашому боці не відновить цього з самої дати, тому ми не вгадуємо.

## Прогон по зовнішньому датасету

Jade Almanac опублікував під CC0 порівняння восьми реалізацій на тринадцяти зондах, спеціально побудованих на цих чотирьох осях: [jadealmanac.com/bazi-calculator/conventions](https://jadealmanac.com/bazi-calculator/conventions). Датасет міряє **конвенції, а не правильність**, і сам про це каже.

Ми прогнали свій `POST /v1/bazi/four-pillars` по всіх тринадцяти. Результат відтворюється командою в репозиторії і зафіксований тестом.

| Зонд | Що ізолює | Наша відповідь |
|---|---|---|
| `1985-02-10` | межа року | `Yi-Chou`, бо Lichun уже минув |
| `1990-06-15 23:30` | перехід доби | день `Ren-Zi`: доба вже перейшла |
| `1988-02-04 23:00` | Lichun і 23:00 разом | `Wu-Chen Jia-Yin Geng-Yin Bing-Zi` |
| `1995-06-15 09:20` Кашгар | істинний сонячний час | без поправки `Yi-Si`, з поправкою `Gui-Mao` |

Одна чесна примітка про те, з ким саме ми збігаємось. Видавець датасету пише, що його рушій стоїть на `tyme4ts`, а `lunar-javascript` того самого автора. Отже три верхні рядки таблиці це одна лінія, а не три незалежні голоси. Серед незалежних від неї повне покриття має `feng-shui-institute.org`, і після відвантаження істинного сонячного часу ми відтворюємо його відповідь на всіх трьох зондах, де він застосовує поправку.

Справжня розбіжність зі школою в нас лишається одна: перехід доби о 23:00.
