java学习之路——基础阶段(三)

本文介绍了如何使用干支纪日法计算日期,并详细讲解了十二时辰表、纪日对照表和五行干支对照表,结合实例展示了如何根据这些表格推算生辰八字和五行属性。
摘要由CSDN通过智能技术生成

干支纪日法

从已知日期计算干支纪日的公式为:

天干 = (4 * C + [C / 4] + 5 * y + [y / 4] + [3 * (M + 1) / 5] + d - 3) % 10
地支 = (8 * C + [C / 4] + 5 * y + [y / 4] + [3 * (M + 1) / 5] + d + 7 + i) % 12
注意: [] 里的除法取整即可

说明如下:

c 为年份前两位,比如 2019 年则 c 为 20
y 为年份后两位,比如 2019 年则 y 为 19
M 为月份,1 月和 2 月按上一年的 13 月和 14 月来算
d 为日数
i
奇数月为 0
偶数月为 6
比如计算 2020 年 2 月 9 日的干支日如下:

天干 = (4 * 20 + 20 / 4 + 5 * 19 + 19 / 4 + 3 * (14 + 1) / 5 + 9 - 3) % 10 = 9 即 壬
地支 = (8 * 20 + 20 / 4 + 5 * 19 + 19 / 4 + 3 * (14 + 1) / 5+ 9 + 7 + 6) % 12 = 7 即 午

十二时辰表

· 时辰 时间
· 子时 23 - 01
· 丑时 01 - 03
· 寅时 03 - 05
· 卯时 05 - 07
· 辰时 07 - 09
· 巳时 09 - 11
· 午时 11 - 13
· 未时 13 - 15
· 申时 15 - 17
· 酉时 17 - 19
· 戌时 19 - 21
· 亥时 21 - 23
注意: 根据上表可以得出生辰八字的第八个字,比如早上 9 点出生即第八个字为 巳

十二时辰纪日对照表

想要得到第七个字,需要使用以下对照表;比如 2020 年(庚子) 2 月(戊寅) 9 日(壬午)晚上 23 点(子时),找到 壬 和 子 对应的字即下表中的 庚子

时/日 甲、己 乙、庚 丙、辛 丁、壬 戊、癸
子 甲、子 丙 、子 戊、子 庚、子 壬、子
丑 乙、丑 丁、丑 己、丑 辛、丑 癸、丑
寅 丙、寅 戊、寅 庚、寅 壬、寅 甲、寅
卯 丁、卯 己、卯 辛、卯 癸、卯 乙、卯
辰 戊、辰 庚、辰 壬、辰 甲、辰 丙、辰
巳 己、巳 辛、巳 癸、巳 乙、巳 丁、巳
午 庚、午 壬、午 甲、午 丙、午 戊、午
未 辛、未 癸、未 乙、未 丁、未 己、未
申 壬、申 甲、申 丙、申 戊、申 庚、申
酉 癸、酉 乙、酉 丁、酉 己、酉 辛、酉
戌 甲、戌 丙、戌 戊、戌 庚、戌 壬、戌
亥 乙、亥 丁、亥 己、亥 辛、亥 癸、亥
生辰八字 = 年(庚子) + 月(戊寅) + 日(壬午) + 时(庚子)

五行干支对照表

五行 天干 地支
木 甲、乙 寅、卯
火 丙、丁 巳、午
土 戊、己 辰、丑、戌、未
金 庚、辛 申、酉
水 壬、癸 亥、子
按照上面的生辰八字得出五行(2 个金,3 个水,1 个土,1 个木,1 个火;此子五行不缺)

庚子 戊寅 壬午 庚子

金水 土木 水火 金水

**

在使用中发现李卫民老师的代码有一点问题,我试了好多次还是这样,如果看到这段话的你,可以尝试一下以下时间
在这里插入图片描述
**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值