天干地支python代码实现
时间: 2024-07-22 12:01:29 浏览: 248
天干地支是中国传统历法中用于纪年、月、日、时的重要工具,通常以甲乙丙丁戊己庚辛壬癸十个天干和子丑寅卯辰巳午未申酉戌亥十二个地支组合。在Python中,我们可以创建一个简单的字典来存储它们的关系并进行相关的计算。这里是一个基本的实现:
```python
def get_gan_zhi(year, month, day, hour=0):
# 定义天干地支列表
gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
# 获取年份对应的天干和地支
ganyin = gan[year % 10]
zhipin = zhi[(year + (month - 1) * 12) % 60]
# 如果有小时,则获取时对应的地支
if hour >= 0 and hour < 12:
shichen_zhi = zhi[hour]
else:
shichen_zhi = ""
return ganyin, zhipin, shichen_zhi
# 示例
gan, zhi, shichen = get_gan_zhi(2023, 3, 5, 9)
print(f"公元{2023}年三月五日九时的干支为:{gan}{zhi}{shichen}")
```
这个函数接受年、月、日和(可选)小时作为输入,返回对应的天干、地支和(如果有的话)时辰的地支。注意这只是一个简化的实现,实际应用中可能需要考虑闰月等因素。
阅读全文