Ganzhi Calendar (干支计算)

👤 wingchiu 📦 v1.0.0 ⭐ 4.1 ⬇️ 920 下载
📚 知识管理 免费

📖 技能介绍


name: chinese-calendar description: Calculate Chinese lunar calendar dates with Heavenly Stems (天干) and Earthly Branches (地支). Use when generating Chinese calendar tables, checking 黄历, or converting Gregorian dates to 干支 (stem-branch) dates for year/month/day.


Chinese Calendar Calculator

Usage

Run the script to generate weekly calendar:

python3 scripts/calendar.py

Output format:

丙午(马年) 🐎
| Date | Weekday | Nongli | 月天干地支 | 日天干地支 |
| ---- | ------- | ------ | ---------- | ---------- |
| 3月6日 | 周五 | 农历正月十八 | 辛卯月 | 己卯日 |

Calculation Method

Reference Date

小葱技能站7w4.net每天更新,海量AI技能等你发现。

  • 1983-02-05 = 甲子日 (calibrated against verified sources)
  • Day stem-branch: (days since reference) % 60 → stem = pos % 10, branch = pos % 12

Day Calculation

delta = (date - 1983-02-05).days
stem_idx = delta % 10
branch_idx = delta % 12
day_stem_branch = STEMS[stem_idx] + BRANCHES[branch_idx]

Month Calculation

Month branches: 正月=寅, 二月=卯, 三月=辰...

month_branch_idx = (month + 1) % 12
month_stem_idx = (year_stem_idx * 2 + month) % 10
month_stem_branch = STEMS[month_stem_idx] + BRANCHES[month_branch_idx]

Year Calculation

cycle_pos = (year - 4) % 60
year_stem_idx = cycle_pos % 10
year_branch_idx = cycle_pos % 12
year_stem_branch = STEMS[year_stem_idx] + BRANCHES[year_branch_idx]

Constants

STEMS = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸']
BRANCHES = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']
ZODIAC = {
    '子': '鼠', '丑': '牛', '寅': '虎', '卯': '兔',
    '辰': '龙', '巳': '蛇', '午': '马', '未': '羊',
    '申': '猴', '酉': '鸡', '戌': '狗', '亥': '猪'
}

🤖 AI 评测

这个工具可以用来查看天干地支日历,但质量一般。优点是安装即可用,操作简单。但存在两个明显问题:一是某些日期的计算结果可能不准确(参考日期标注不一致),二是农历日期只是粗略估算,不是真正的农历历法。如果只是简单查询天干地支可以用,但需要精确农历的话就不太可靠了。

📊 多维度评分

适应性4.2
规范性4
有效性4
可靠性4
可信度4.8

📁 包含文件 (3 个)

📄 SKILL.md 1.8 KB
📄 _meta.json 134 B
📄 scripts/calendar.py 5.8 KB