有人知道生辰八字(四柱八字)根据公历怎么推算吗?
比如,下面网站:推算结果如下http://tools.2345.com/m/suanming/bz.htm生辰(阳历):1990-01-01-1
八字:己巳,丙子,丙寅,戊子
排盘软件一大堆, 下载个问真八字自己研究 具体推算也简单 抖音 B站都有 生辰八字本身就是按公历推算,并非阴历。
阴历:年,月,日,时;= 八字 就是一个人,出生时的年、月、日、时,分别对应的天干与地支,所组成的八个字(即生辰八字)。无论阳历与阴历,都要转换成天干地支的。 都是按阴历算的吧 你研究这个干吗 侮辱维特 发表于 2022-9-4 08:58
下载个问真八字自己研究 具体推算也简单 抖音 B站都有
网上找到了js版本,python版本,我试了看看计算结果是错的,比如:阳历:1990-01-01 00:00 算出来的都不准
https://liuxiaowei574.github.io/2016/09/09/wuxing/
https://github.com/swordzjj/PyLunar/blob/master/CalendarConvert.py
找到了一个 asp 的代码,部分代码如下,好像是准的,不清楚原理为什么这样计算:
'从公元0年到目前年份的天数 yearlast
yearlast = (year - 1) * 5 + (year - 1) \ 4 - (year - 1) \ 100 + (year - 1) \ 400
'计算某月某日与当年1月0日的时间差(以日为单位)yearday
For i = 1 To month - 1
Select Case i
Case 1, 3, 5, 7, 8, 10, 12
yearday = yearday + 31
Case 4, 6, 9, 11
yearday = yearday + 30
Case 2
If (year Mod 4 = 0) And ((year Mod 100) <> 0) Or (year Mod 400 = 0) Then
yearday = yearday + 29
Else
yearday = yearday + 28
End If
End Select
next
yearday = yearday + day
'计算日的六十甲子数 day60
day60 = (yearlast + yearday + 6015) Mod 60
'确定 日干 dg日支dz
dg = day60 Mod 10
dz = day60 Mod 12
'确定 时干 tg 时支 tz
tz = (time + 3) \ 2 Mod 12
'tg = (dg * 2 + tz + 8) Mod 10
If (tz = 0) Then
tg = (dg * 2 + tz) Mod 10
Else
tg = (dg * 2 + tz + 8) Mod 10
End If
kekeme 发表于 2022-9-5 17:28
网上找到了js版本,python版本,我试了看看计算结果是错的,比如:阳历:1990-01-01 00:00 算出来的都不 ...
那你找本书看吧,叫⟪千里命稿⟫,里边有具体方法,韦千里的,旧书网买95版的就行
页:
[1]