干支纪日法
从已知日期计算干支纪日的公式为:
天干 = (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 个火;此子五行不缺)
庚子 戊寅 壬午 庚子
金水 土木 水火 金水
**
在使用中发现李卫民老师的代码有一点问题,我试了好多次还是这样,如果看到这段话的你,可以尝试一下以下时间
**