Description
Return [2(yearStemIndex modulo 5)+2+((monthBranchIndex-2) modulo 12)] modulo 10.
Gan-Zhi combines a ten-stem sequence with a twelve-branch sequence into a sixty-position traditional cycle. Cycle indexes, calendar dates and local clock labels are distinct inputs; the correct calendar assignment must be established separately.
Return [2(yearStemIndex modulo 5)+2+((monthBranchIndex-2) modulo 12)] modulo 10.
When to use this tool
Use Month Heavenly Stem Calculator when you need an explicit traditional cycle-index mapping or step calculation.
How to use the tool and how it works
- Enter yearStemIndex, monthBranchIndex. Use the units and conventions below.
- Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
- Read result. Expand result to inspect the returned fields.
Require yearStemIndex 0-9 and monthBranchIndex 0-11. Return [2(yearStemIndex modulo 5)+2+((monthBranchIndex-2) modulo 12)] modulo 10.1
The month-stem sequence is anchored at Yin, with its starting stem determined by the supplied year stem.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| yearStemIndex | Zero-based stem order: Jia, Yi, Bing, Ding, Wu, Ji, Geng, Xin, Ren, Gui. | Required. Safe integer. |
| monthBranchIndex | Zero-based branch order: Zi, Chou, Yin, Mao, Chen, Si, Wu, Wei, Shen, You, Xu, Hai. Yin at index 2 is the first month in this mapping. | Required. Safe integer. |
| Output field | Interpretation | Returned shape |
|---|---|---|
| result | Object containing the calculated members; expand to inspect the fields below. | Required. Object. |
| result.monthStemIndex | Zero-based stem order: Jia, Yi, Bing, Ding, Wu, Ji, Geng, Xin, Ren, Gui. | Calculated result member: number. |
{
"input": {
"yearStemIndex": 0,
"monthBranchIndex": 2
},
"output": {
"result": {
"monthStemIndex": 2
}
}
} Limitations and assumptions
- The branch is supplied under a Tiger-at-index-2 month convention; solar terms and the correct calendrical month are not determined.
- Outputs are nested inside result. Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
- Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.
Alternative or Complementary methods
Consult the intended calendrical convention when deriving labels from dates. Keep local time, day boundaries and solar-term rules explicit rather than treating an index calculator as a calendar or predictive model.
References
-
Calculation and input contract: ganzhi/month-stem-from-year-stem — tool.io
-
Heavenly Stems and Earthly Branches — Hong Kong Observatory
Similar or alternative tools
- Hour Heavenly Stem Calculator
Return [2(dayStemIndex modulo 5)+hourBranchIndex] modulo 10.
- Sexagenary Index to Stem-Branch Converter
Subtract one and take remainders modulo 10 and 12 for zero-based stem and branch indexes.