kekeme 发表于 2022-9-3 17:59

有人知道生辰八字(四柱八字)根据公历怎么推算吗?

比如,下面网站:推算结果如下http://tools.2345.com/m/suanming/bz.htm
生辰(阳历):1990-01-01-1
八字:己巳,丙子,丙寅,戊子

zaifen 发表于 2022-9-4 08:49

排盘软件一大堆,

侮辱维特 发表于 2022-9-4 08:58

下载个问真八字自己研究   具体推算也简单 抖音 B站都有

愚无尽 发表于 2022-9-4 09:36

生辰八字本身就是按公历推算,并非阴历。

ghwanz 发表于 2022-9-4 09:52

阴历:年,月,日,时;= 八字

wangyihao 发表于 2022-9-4 10:24

就是一个人,出生时的年、月、日、时,分别对应的天干与地支,所组成的八个字(即生辰八字)。无论阳历与阴历,都要转换成天干地支的。

zhengxinjun 发表于 2022-9-4 11:19

都是按阴历算的吧

burning 发表于 2022-9-4 12:43

你研究这个干吗

kekeme 发表于 2022-9-5 17:28

侮辱维特 发表于 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

侮辱维特 发表于 2022-9-6 20:11

kekeme 发表于 2022-9-5 17:28
网上找到了js版本,python版本,我试了看看计算结果是错的,比如:阳历:1990-01-01 00:00 算出来的都不 ...

那你找本书看吧,叫⟪千里命稿⟫,里边有具体方法,韦千里的,旧书网买95版的就行
页: [1]
查看完整版本: 有人知道生辰八字(四柱八字)根据公历怎么推算吗?