BaZi 관례
두 개의 BaZi 계산기에 하나의 출생 시점을 입력하면 두 개의 다른 차트를 얻을 수 있습니다. 때로는 다른 일주(日主), 즉 전체 해석이 구축되는 한자가 나옵니다. 이것은 둘 중 하나의 오류가 아닙니다. 각 차트 아래에는 네 가지 관례가 있으며, 각 관례에는 역사가 있고 계산기는 이를 묵묵히 다르게 적용합니다.
아래는 네 가지 각각에 대한 우리의 답변입니다. 이들은 각 응답의 disclaimer 필드에 선언되어 있으므로, 이들의 변경은 리팩토링이 아닌 breaking change입니다.
1. 한 해는 언제 시작하는가: 입춘(立春)인가, 아니면 중국 설날인가
섹션 제목: “1. 한 해는 언제 시작하는가: 입춘(立春)인가, 아니면 중국 설날인가”우리의 답변: 입춘(立春), 정확한 시점.
BaZi는 음양력 달력 내의 태양계입니다. 월주(月柱)는 24절기, 즉 달의 위상이 아닌 태양의 위치에 연결되어 있으며, 한 해는 같은 논리를 따릅니다. 약 2월 4일경 입춘에 돌아옵니다. 중국 설날은 다릅니다. 음력 새해의 첫 번째 초승달이며, 1월 말부터 2월 말까지 변동합니다.
그 사이의 출생은 한 규칙에 따라 한 동물에 속하고, 다른 규칙에 따라 다른 동물에 속합니다. 두 규칙 모두 유효합니다. 우리는 입춘을 기준으로 하며, 그 시점은 “2월 4일”이라는 날짜가 아니라 천문력에서 가져옵니다.
2. 하루는 언제 시작하는가: 23:00인가, 아니면 자정인가
섹션 제목: “2. 하루는 언제 시작하는가: 23:00인가, 아니면 자정인가”우리의 답변: 출생지 시계 기준 23:00.
전통적인 하루는 12개의 이중 시간으로 구성되며, 그중 첫 번째인 자시(子時)는 23:00부터 01:00까지입니다. 다른 모든 시간은 하나의 역일(曆日)에 포함됩니다. 자시는 자정을 걸쳐 있으며, 이 유일한 구조적 사실에서 모든 논쟁이 발생합니다. 만약 자시가 하루를 시작한다면, 23:30에 태어난 사람은 이미 다음 날에 속하게 됩니다.
이것이 일주(日主)를 바꾸는 축입니다. 일주를 옮기면 차트를 명확히 한 것이 아니라 교체한 것입니다.
따라서 다른 해석은 결코 숨겨지지 않습니다. 각 차트 경로(dayBoundary: "23:00" | "midnight", 기본값 23:00)는 23:00 시에 태어난 경우 alternateDay와 함께 반환됩니다. 이는 당신이 선택하지 않은 규칙에 따른 일주와 일간(日干)입니다. 늦은 자시(子時)는 어쨌든 다음 날의 천간(天干)을 가져오기 때문에 시주(時柱)는 두 경우 모두 동일합니다. 00:00부터 00:59까지는 모든 학파가 날짜에 대해 동의하므로, 대안은 없습니다.
3. 시계가 출생지의 경도에 맞춰 보정되는가
섹션 제목: “3. 시계가 출생지의 경도에 맞춰 보정되는가”우리의 답변: 요청 시, 그리고 일주와 시주에 한해서만.
이 시스템의 역사 대부분 동안 이 질문은 발생할 수 없었습니다. 현지 시간이 곧 태양시였기 때문입니다. 시간대는 철도 시대의 발명품이며, 한 국가가 하나의 시계를 사용하게 되면 그 시계는 하나의 자오선에서만 태양과 일치합니다. 중국은 극단적인 경우입니다. 60도 경도에 걸쳐 하나의 시간대를 사용하므로, 카슈가르에서 태어난 사람은 베이징 시계 기준으로 태양 정오와 거의 세 시간 차이가 납니다.
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 }'4. 서머타임은 어떻게 처리하는가
섹션 제목: “4. 서머타임은 어떻게 처리하는가”우리의 답변: 호출하는 사람만이 알 수 있습니다.
timezoneOffset 필드는 출생 시점에 실제로 시계가 따랐던 오프셋입니다. 1988년 베이징 출생은 UTC+8이 아닌 UTC+9를 따랐는데, 중국이 1986년부터 1991년까지 서머타임을 시행했기 때문입니다. 우리 쪽에서는 날짜 자체만으로는 이를 복원할 수 있는 어떤 산술도 없으므로, 우리는 추측하지 않습니다.
5. 응답은 자신에 대해 무엇을 말하는가
섹션 제목: “5. 응답은 자신에 대해 무엇을 말하는가”각 차트 경로(/v1/bazi/chart), 분석 경로(day-master, ten-gods, luck-pillars, yearly, monthly)는 conventions 객체를 반환합니다. 여기에는 연주와 월주의 경계(lichun, jie), 사용된 dayBoundary, 실제 태양시 적용 여부 및 몇 분 적용되었는지, 오프셋이 있는 시간대 및 서머타임 적용 여부, 그리고 출생 그레고리력 연도의 중국 설날 날짜가 포함됩니다. timezone.assumed: true는 시간대나 오프셋이 전송되지 않았으며, 경계가 베이징 시간을 기준으로 해석되었음을 의미합니다.
시간 없는 날짜는 정오로 해석됩니다. 입춘 또는 절기가 해당 현지 날짜에 해당할 경우, 응답은 시간에 따라 달라지므로 boundaryInDay를 추가합니다. 여기에는 경계의 종류, 현지 시점, 정오가 어느 쪽에 속했는지, 그리고 양쪽의 연주와 월주가 포함됩니다.
경계 시점 자체, 1900-2100
섹션 제목: “경계 시점 자체, 1900-2100”각 연주와 월주는 입춘 및 나머지 11개 절기의 시점에 따라 달라지므로, 이 시점들은 우리의 코드와 공유되지 않는 두 가지 출처와 대조되었습니다. 1900년부터 2100년까지 각 연도의 월을 여는 12개 절기, 즉 2,412개의 시점은 JPL Horizons (DE441)를 통해 100분의 1초 정확도로 독립적으로 찾아졌습니다. 우리의 시점은 1950년부터 2025년까지 4초 이내, 1900년까지 8초 이내로 일치합니다. 2025년 이후에는 양측 모두 지구 자전이 어떻게 표류할지 예측해야 하며, 예측은 2100년에는 최대 21초까지 서서히 벌어집니다.
UTC+8 기준 동일 절기 날짜는 1901-2100년 홍콩 천문대 표와 대조되었습니다. 2,400개 중 2,398개가 일치합니다. 다른 두 가지, 1917년 대설(大雪)과 1927년 백로(白露)는 자정 몇 분 후에 해당하며, Horizons는 그곳에서 우리의 날짜를 지지합니다.
외부 데이터셋에 대한 실행
섹션 제목: “외부 데이터셋에 대한 실행”Jade Almanac은 CC0 라이선스 하에 이 네 가지 축을 기반으로 특별히 구축된 13개의 프로브에 대한 8가지 구현 비교를 게시했습니다: jadealmanac.com/bazi-calculator/conventions. 데이터셋은 정확성이 아닌 관례를 측정하며, 스스로 그렇게 말합니다.
우리는 POST /v1/bazi/four-pillars를 13개 모두에 대해 실행했습니다. 결과는 저장소의 명령으로 재현할 수 있으며 테스트로 고정되어 있습니다.
| 프로브 | 격리 대상 | 우리의 답변 |
|---|---|---|
1985-02-10 | 연주 경계 | 을축(乙丑), 입춘이 이미 지났기 때문 |
1990-06-15 23:30 | 일주 전환 | 일주 임자(壬子): 하루가 이미 넘어갔음 |
1988-02-04 23:00 | 입춘과 23:00 동시 | 무진(戊辰) 갑인(甲寅) 경인(庚寅) 병자(丙子) |
1995-06-15 09:20 카슈가르 | 실제 태양시 | 보정 없음 을사(乙巳), 보정 있음 계묘(癸卯) |
우리가 정확히 누구와 일치하는지에 대한 솔직한 참고 사항입니다. 데이터셋 게시자는 자신의 엔진이 tyme4ts와 동일 저자의 lunar-javascript에 기반한다고 명시합니다. 따라서 표의 상위 세 줄은 세 개의 독립적인 의견이 아니라 하나의 계보입니다. 이와 독립적인 것 중 feng-shui-institute.org가 완전한 커버리지를 가지며, 실제 태양시를 적용한 후 우리는 그가 보정을 적용하는 세 가지 프로브 모두에서 그의 응답을 재현합니다.
학파와의 진정한 불일치는 우리에게 하나 남아 있습니다: 23:00의 하루 전환.