问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何批是以将公历转为农历?

发布网友 发布时间:2022-04-24 00:50

我来回答

2个回答

热心网友 时间:2022-04-06 08:08

其实很多人都一直在找换阴阳历的公式。「高平子」天文前辈所着「学历散论」了解古历的变更和阴阳历的缺陷。才知道由於月球转动的不稳定不规则,确定无公式可寻。这也是古代中国每百年必改历的原因。

阴历最大的问题是在如何置闰。好像不难,因为阴历基本法则如下:
 * 月朔日即是初一
 * 月以中气得名
 * 以包含雨水中气月为正月,即是「寅」月
 * 月无中气者为闰月,以前月同名

  如果,日月转动循还有规则的话, 推演一套阴阳历转换的公式并不难。问题在有时一个太阴月比一个太阳月还要长。如此一个太阴月就有可能包括两个中气。此双中气月後的阴历月名就全部乱掉了,直到下一个「假」闰月後才调整过来。

  一般人接触到的阴阳历是民用历法,它是*颁令的以东经120度计算的历法或称中原标准时间或北京时。如果,我们用不同时区、不同经度为子午线来重新计算阴阳历,民用历法的置闰法则出了很大的问题。不同时区的闰月可能落在不同月。换言之,在一百年内,任何两个时区的闰月顺序模式是会不相同的。

  高平子前辈书中提到了「历理置闰法」。如果应用历理置闰法到不同时区,则所有不同时区的闰月都落在相同月。如此不同时区、不同经度的阴阳历置闰之问题就消失了。民用置闰和历理置闰的不同是:

  * 在民用置闰,如果月朔日和中气同一天,则该阴历月包含那个中气。
  * 在历理置闰,如果月朔日和中气同一天,月朔日时间必须在中气时间之前,则该阴历月才包含那个中气。

  简言之,民用置闰比较月朔和中气日期;历理置闰比较月朔和中气日期、时、分、秒。由此可知,没有精确的太阳和月亮的时间数字,阴历的闰月可能会排错了。

  基於这些理由,我着手寻找天文公式计算精确的太阳和月亮在纬度的时间。当年没有网路,发了大半年於美国南加州各大图书馆及大学,找寻答案。1993年出版了「中美天文万年历」一书。书中精确的天文日月时间只从1900到2010年。因恐2011後时间误差超过一分钟,不够精确,不敢印出。今年2002从网路资讯,确定太阳和月亮时间的精确度後,百忙中重新整理资料,提供给需要阴阳历转换公式的朋友。

  整理出的太阳和月亮时间数字是从西元1年到2246年。有历理和中国民用两套历法。数字内容清清楚楚的看出民用历法的敝端。例如,从西元1600年到2246年,民用历法双中气的阴历月有22个,历理历法只有5个。民用历法甚至在2033、2128和2242年中,三个月之间居然跑出两个双中气;换言之,三个月中多出两个「假」闰月。前後12个阴历月中有三个闰月,闰月的去留造成许多学者的讨论和困恼。历理历法在此三年中,却没有发现到双中气阴历月。闰月的去留只要把双中气月後的「假」闰月取消,则历理历法近乎於完美。

  由此可知,民用历法问题很大,应该废除。上次阴阳历重大改历在1645年,已经超过350年。随着天文科学的进步,中国阴阳历应该使用较精确的历理历法。免得後代子孙再浪费时间讨论置闰去留的问题。

  阴阳历应用在八字算命、紫微斗数、农民历、遁甲历最多。很多人不知道排八字只用阳历而不用阴历。发了许多时间在研究阴阳历的转换。其实八字只使用太阳中节气,和月亮没有任何关系。紫微斗数则需要阴历日期去排命盘。美国时区的阴历日期有一半和中国时区的阴历日期差一天,因为时差超过12小时;初一就可能在不同日之故。有位在加拿大职业算命的朋友,精通八字和紫微斗数,研究其女命盘。八字论父母,合情合理。斗数父母宫,看不出自己影子。後来,在中美天文万年历一书发现了「差一天」之解答。

  曾有一位退休博士用了近三十年找寻阴阳历的公式,问遍两岸各大天文台,得不到答案,直到发现中美天文万年历一书。最後,希望我重新整理的中国阴阳历的天文数字和原始程式,能给有求知欲於阴阳历转换方法的读友一个答案,以免得不到答案而遗憾终身。

中国阴阳历的天文数字和原始程式用简单英文阐述,

希望本文知识对您有所帮助!

热心网友 时间:2022-04-06 09:26

将下面面这段代码保存在模块中,就可以用公式 =nongli(A1) 调用了。

Public Function NongLi(Optional XX_DATE As Date)

Dim MonthAdd(11), NongliData(99), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)
Dim curTime, curYear, curMonth, curDay
Dim GongliStr, NongliStr, NongliDayStr
Dim i, m, n, k, isEnd, bit, TheDate

'获取当前系统时间
curTime = XX_DATE

'天干名称
TianGan(0) = "甲"
TianGan(1) = "乙"
TianGan(2) = "丙"
TianGan(3) = "丁"
TianGan(4) = "戊"
TianGan(5) = "己"
TianGan(6) = "庚"
TianGan(7) = "辛"
TianGan(8) = "壬"
TianGan(9) = "癸"
'地支名称
DiZhi(0) = "子"
DiZhi(1) = "丑"
DiZhi(2) = "寅"
DiZhi(3) = "卯"
DiZhi(4) = "辰"
DiZhi(5) = "巳"
DiZhi(6) = "午"
DiZhi(7) = "未"
DiZhi(8) = "申"
DiZhi(9) = "酉"
DiZhi(10) = "戌"
DiZhi(11) = "亥"
'属相名称
ShuXiang(0) = "鼠"
ShuXiang(1) = "牛"
ShuXiang(2) = "虎"
ShuXiang(3) = "兔"
ShuXiang(4) = "龙"
ShuXiang(5) = "蛇"
ShuXiang(6) = "马"
ShuXiang(7) = "羊"
ShuXiang(8) = "猴"
ShuXiang(9) = "鸡"
ShuXiang(10) = "狗"
ShuXiang(11) = "猪"
'农历日期名
DayName(0) = "*"
DayName(1) = "初一"
DayName(2) = "初二"
DayName(3) = "初三"
DayName(4) = "初四"
DayName(5) = "初五"
DayName(6) = "初六"
DayName(7) = "初七"
DayName(8) = "初八"
DayName(9) = "初九"
DayName(10) = "初十"
DayName(11) = "十一"
DayName(12) = "十二"
DayName(13) = "十三"
DayName(14) = "十四"
DayName(15) = "十五"
DayName(16) = "十六"
DayName(17) = "十七"
DayName(18) = "十八"
DayName(19) = "十九"
DayName(20) = "二十"
DayName(21) = "廿一"
DayName(22) = "廿二"
DayName(23) = "廿三"
DayName(24) = "廿四"
DayName(25) = "廿五"
DayName(26) = "廿六"
DayName(27) = "廿七"
DayName(28) = "廿八"
DayName(29) = "廿九"
DayName(30) = "三十"
'农历月份名
MonName(0) = "*"
MonName(1) = "正"
MonName(2) = "二"
MonName(3) = "三"
MonName(4) = "四"
MonName(5) = "五"
MonName(6) = "六"
MonName(7) = "七"
MonName(8) = "八"
MonName(9) = "九"
MonName(10) = "十"
MonName(11) = "十一"
MonName(12) = "腊"
'公历每月前面的天数
MonthAdd(0) = 0
MonthAdd(1) = 31
MonthAdd(2) = 59
MonthAdd(3) = 90
MonthAdd(4) = 120
MonthAdd(5) = 151
MonthAdd(6) = 181
MonthAdd(7) = 212
MonthAdd(8) = 243
MonthAdd(9) = 273
MonthAdd(10) = 304
MonthAdd(11) = 334
'农历数据
NongliData(0) = 2635
NongliData(1) = 333387
NongliData(2) = 1701
NongliData(3) = 1748
NongliData(4) = 267701
NongliData(5) = 694
NongliData(6) = 2391
NongliData(7) = 133423
NongliData(8) = 1175
NongliData(9) = 396438
NongliData(10) = 3402
NongliData(11) = 3749
NongliData(12) = 331177
NongliData(13) = 1453
NongliData(14) = 694
NongliData(15) = 201326
NongliData(16) = 2350
NongliData(17) = 465197
NongliData(18) = 3221
NongliData(19) = 3402
NongliData(20) = 400202
NongliData(21) = 2901
NongliData(22) = 1386
NongliData(23) = 267611
NongliData(24) = 605
NongliData(25) = 2349
NongliData(26) = 137515
NongliData(27) = 2709
NongliData(28) = 464533
NongliData(29) = 1738
NongliData(30) = 2901
NongliData(31) = 330421
NongliData(32) = 1242
NongliData(33) = 2651
NongliData(34) = 199255
NongliData(35) = 1323
NongliData(36) = 529706
NongliData(37) = 3733
NongliData(38) = 1706
NongliData(39) = 398762
NongliData(40) = 2741
NongliData(41) = 1206
NongliData(42) = 267438
NongliData(43) = 2647
NongliData(44) = 1318
NongliData(45) = 204070
NongliData(46) = 3477
NongliData(47) = 461653
NongliData(48) = 1386
NongliData(49) = 2413
NongliData(50) = 330077
NongliData(51) = 1197
NongliData(52) = 2637
NongliData(53) = 268877
NongliData(54) = 3365
NongliData(55) = 531109
NongliData(56) = 2900
NongliData(57) = 2922
NongliData(58) = 398042
NongliData(59) = 2395
NongliData(60) = 1179
NongliData(61) = 267415
NongliData(62) = 2635
NongliData(63) = 661067
NongliData(64) = 1701
NongliData(65) = 1748
NongliData(66) = 398772
NongliData(67) = 2742
NongliData(68) = 2391
NongliData(69) = 330031
NongliData(70) = 1175
NongliData(71) = 1611
NongliData(72) = 200010
NongliData(73) = 3749
NongliData(74) = 527717
NongliData(75) = 1452
NongliData(76) = 2742
NongliData(77) = 332397
NongliData(78) = 2350
NongliData(79) = 3222
NongliData(80) = 268949
NongliData(81) = 3402
NongliData(82) = 3493
NongliData(83) = 133973
NongliData(84) = 1386
NongliData(85) = 464219
NongliData(86) = 605
NongliData(87) = 2349
NongliData(88) = 334123
NongliData(89) = 2709
NongliData(90) = 2890
NongliData(91) = 267946
NongliData(92) = 2773
NongliData(93) = 592565
NongliData(94) = 1210
NongliData(95) = 2651
NongliData(96) = 395863
NongliData(97) = 1323
NongliData(98) = 2707
NongliData(99) = 265877
'生成当前公历年、月、日 ==> GongliStr
curYear = Year(curTime)
curMonth = Month(curTime)
curDay = Day(curTime)
GongliStr = curYear & "年"
If (curMonth < 10) Then
GongliStr = GongliStr & "0" & curMonth & "月"
Else
GongliStr = GongliStr & curMonth & "月"
End If
If (curDay < 10) Then
GongliStr = GongliStr & "0" & curDay & "日"
Else
GongliStr = GongliStr & curDay & "日"
End If
'计算到初始时间1921年2月8日的天数:1921-2-8(正月初一)
TheDate = (curYear - 1921) * 365 + Int((curYear - 1921) / 4) + curDay + MonthAdd(curMonth - 1) - 38
If ((curYear Mod 4) = 0 And curMonth > 2) Then
TheDate = TheDate + 1
End If
'计算农历天干、地支、月、日
isEnd = 0
m = 0
Do
If (NongliData(m) < 4095) Then
k = 11
Else
k = 12
End If
n = k
Do
If (n < 0) Then
Exit Do
End If
'获取NongliData(m)的第n个二进制位的值
bit = NongliData(m)
For i = 1 To n Step 1
bit = Int(bit / 2)
Next
bit = bit Mod 2
If (TheDate <= 29 + bit) Then
isEnd = 1
Exit Do
End If
TheDate = TheDate - 29 - bit
n = n - 1
Loop
If (isEnd = 1) Then
Exit Do
End If
m = m + 1
Loop
curYear = 1921 + m
curMonth = k - n + 1
curDay = TheDate
If (k = 12) Then
If (curMonth = (Int(NongliData(m) / 65536) + 1)) Then
curMonth = 1 - curMonth
ElseIf (curMonth > (Int(NongliData(m) / 65536) + 1)) Then
curMonth = curMonth - 1
End If
End If
'生成农历天干、地支、属相 ==> NongliStr
NongliStr = "农历" & TianGan(((curYear - 4) Mod 60) Mod 10) & DiZhi(((curYear - 4) Mod 60) Mod 12) & "年"
NongliStr = NongliStr & "(" & ShuXiang(((curYear - 4) Mod 60) Mod 12) & ")"
'生成农历月、日 ==> NongliDayStr
If (curMonth < 1) Then
NongliDayStr = "闰" & MonName(-1 * curMonth)
Else
NongliDayStr = MonName(curMonth)
End If
NongliDayStr = NongliDayStr & "月"
NongliDayStr = NongliDayStr & DayName(curDay)

NongLi = NongliStr & NongliDayStr

End Function

希望能帮助你

都是网上搜的,没有现成的函数,有大侠写好的自定义函数,参考着用吧
http://zhidao.baidu.com/question/92434185.html
公历和农历是如何换算的

首先,要将公历转换为农历,需要记住天干和地支的编号:天干包括甲、乙、丙、丁、戊、己、庚、辛、壬、癸,地支包括子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。换算时,以公历年份的尾数对应天干,然后将公历年份除以12,余数对应地支。这样,公历年份就可以转换为干支纪年。例如,要将2004...

在excel中如何将公历日期转成农历日期?

1、在电脑中打开需要操作的EXCEL表格,如需要将A1的日期转成农历,如下图所示。2、点击上方菜单栏中的开始选项,进入下一页面。3、点击右侧的求和选项下拉菜单,选择“其他函数”选项,点击进入下一页面。4、在弹出的对话框中将选择类型选为“文本”,选择函数选择“TEXT”,点击确定进入下一页面。5、...

Excel公历日期转换为农历方法 一个公式帮你忙介绍_Excel公历日期转换为...

以一个简单的例子说明,假设你的公历日期在A列,而农历日期在相邻的列。首先,在农历日期单元格中输入公式:=TEXT(A2, "[$-130000]yyyy-m-d")这里的"A2"是你要转换的公历日期单元格,"yyyy-m-d"指定了输出格式,而"[$-130000]"是关键标识,用于指示日期系统转换为农历。按下回车,然后将这个...

公历如何转换为农历

以包含雨水中气月为正月,即是「寅」月 月无中气者为闰月,以前月同名 如果,日月转动循还有规则的话, 推演一套阴阳历转换的公式并不难。问题在有时一个太阴月比一个太阳月还要长。如此一个太阴月就有可能包括两个中气。此双中气月後的阴历月名就全部乱掉了,直到下一个「假」闰月後才调整过来。

阴历和阳历是怎么推算出来的?

3、阳历和阴历之间是不能换算的,二者采用的计算方法不同,没有特殊关系可以查询,只能分别计算。公历是阳历的一种,阳历就是以地球绕太阳公转的运动周期为基础而制定的历法。4、阴历阳历是无法换算的,因为阳历是以地球绕太阳公转的运动周期为基础而制定的历法,而阴历是按月亮的月相周期来安排的历法,...

阴历和阳历怎么换算?

农历与阳历如何计算 阴历阳历转换计算公式 1、阳历日期推算阴历日期的方法: 前已述及阴历日期是以月亮的圆缺为计月单位,其以逢朔为初一,以月望为十五(大月为十六日),以月晦为二十九日(大月为三十日)。 如要知道1984年6月8日是阴历几日?可以利用公式推算阴历日期: 设:公元年数-1977(或1901)=4Q+R则:阴历...

公历和农历是如何换算的?

首先,进行公历农历换算必须将天干、地支编号记住:天干:甲(4)、乙(5)、丙(6)、丁(7)、戊(8)、己(9)、庚(10)、辛(1)、壬(2)、癸(3)。地支:子(4)、丑(5)、寅(6)、卯(7)、辰(8)、巳(9)、午(10)、未(1)、申(2)、酉(3)、戌(4)、亥(5)。如要将公历农历换算即将公历换...

WPS表格怎么将公历转化成农历日期?

excel公历转农历方法一:使用text函数 假设A列是公历日期,A1是公历日期,我们在B1单元格输入公式:=TEXT(A1,"[$-130000]yyyy年m月"&amp;IF(LEN(--TEXT(A1,"[$-130000]dd"))=1,"初","")&amp;"d"),下拉完成公历转农历。excel公历转农历方法二:使用text+MID函数实现更完整的转换 A列仍然是公历,...

农历和阳历转换有什么规律啊?

农历日期是以月亮的圆度和缺度为月计量单位的。它把新月作为第一天,月亮作为第十五天(月亮的第十六天),月亮作为第二十九天(月亮的第三十天)。然而,目前的年表通常用公历的日期来表示。如果要将公历日期转换为公历日期,可以使用以下两种方法:一种是查找新编译的公历,例如,公历是1984年6月8日...

公历转农历公式,在EXCEL中怎样把公历转换成农历

公历是阳历的一种,阳历就是以地球绕太阳公转的运动周期为基础而制定的历法。公历农历转换公式。公历别称公元、西历、西元等,是一种源自于的纪年方法,由意大利医生兼哲学家Aloysius Lilius对儒略历加以而制成的一种历法。1582年,时任罗马教皇的格列高利十予以批准颁行,以诞生之年作为纪年的开始。公历...

阴历是公历还是农历 公历是阴历还是阳历阿 公历是指阴历还是阳历 公历生日是阴历还是阳历 公历和农历哪个是快的 公历是农历吗 公历是农历的意思吗 公历农历转换 如何将农历显示在主页
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何自制美味的芹菜炒粉丝? 学电脑专业需要懂电脑原理和打字吗 大学里会专门学习五笔打字(电脑专业的)吗?谢谢 肝腹水可以治疗好吗 肝腹水体重增加怎么治疗 我想买一个平板电脑,有这样的要求:价格在1000左右,朝左,可以外接键鼠... 我妈不会在电脑上打字,请问能到那里找些有用的软件来帮帮她?希望能多... 4000能买到既能流畅玩游戏又能练打字的电脑吗在哪买 家庭阳台草莓种植方法下雨怎么办 今日头条抄袭别人文章怎么处罚 三点水四个字成语 阿根廷队歌翻译 高姓女孩起名四个字带三点水 南迳怎么读?这个是读jing还是gan? 求四个字都有三滴水的成语。。。三滴水偏旁。。就像这个滴字。。四个字都带三滴水。。 1998年中国十大科技成果之一是合成纳米氮化镓.已知镓(Ga)原子结构示意图为 ,氮原子结构示意图为 . 有没有由4个三点水的字组成的成语? 纳米技术的研究是当前世界科技研究的一个热点,1998年中国科学家合成了纳米氮化镓,已知镓(Ga)和氮的原 四个字都是三点水,表示亲密的成语 英语听力不好怎么练啊~!~! 急急急急 win10更新后就就变成这样了,用不习惯,怎么办? 四个字带财运三点水的成语有哪些? 乙肝患者应该如何提高自身免疫力呢? 升级win10后无缘无故变成了win7 四个字全部带三点水的成语网名 艹下面一个干净的干,干是出头的,是什么字? WIN10每次更新系统后都会变英语? 谁能用四个带三点水的字造一个成语.求解 求助,四个字带三点水的励志成语 越南CF单机版“CF RED 1.5.2.3”刷V COIN和 GP补丁。 发到这个EMAIL:nelsongan98@gmail.com 加说明教程 三点水旁边一个四读什么字啊 你若乘风,这四个字变成繁体字变成四个带三点水的 三点水加个四 电镀污泥怎么处理?填埋还是焚烧 通灵之术和口寄之术有什么不同? 南京华为售后服务网点在哪? 你好,我想问下彩色的纹身可以洗掉不? 深圳猛龙洗纹身 彩色纹身洗得掉不?谁知道哪里可以洗?? 彩色纹身怎么才能洗的最干净? 猛龙洗纹身在什么地方!我现在在南山。 纹身可以洗到一点颜色都没有吗,洗过的人回答 洗纹身去哪里最好,只纹了一次,是字绿色的。 我朋友有个彩色玫瑰纹身 ,纹了快十年了,现在洗得掉吗? 请问有没有人在深圳龙岗猛龙纹身中心洗过纹身?效果好吗? 我手上虎口有个彩色的纹身,有谁能告诉我能不能洗的掉?到哪洗?价格... 谁去过深圳猛龙洗纹身 深圳龙岗区洗纹身那里好? 纹身可以洗干净吗?如果可以要怎么洗,要洗的一点都看不出来??? 跪求。。。 我有一朋友,想洗掉之前的纹身,不知道去哪里可以洗掉??茂名或者茂名地区哪里有呢???