中华农历论坛知识讨论区历法知识 → 怎样由农历日期求公历日期?


  共有17454人关注过本帖树形打印

主题:怎样由农历日期求公历日期?

帅哥哟,离线,有人找我吗?
ymy111
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:190 积分:1585 威望:0 精华:1 注册:2008/7/6 15:34:00
怎样由农历日期求公历日期?  发帖心情 Post By:2010/1/30 14:28:00

网上的程序一般有公历求农历

那有农历求公历有没有简易算法?


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
浪-淘-沙
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:2068 积分:4263 威望:5 精华:4 注册:2008/11/13 21:03:00
  发帖心情 Post By:2010/1/30 14:52:00

由公历求农历也没有简易算法的,不知楼主的公式从哪来的?

 

网上有些公式只不过是半经验公式,当求出的结果与实历不符时,需要人工校正的。

 

农历与公历是二套完全不同的历法,日期互相转换是相当难的事。简单通用的公式肯定是没有的。

一般地都是编程序来计算的。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
ymy111
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:190 积分:1585 威望:0 精华:1 注册:2008/7/6 15:34:00
  发帖心情 Post By:2010/1/30 14:53:00

我指的就是有没有有农历求公历的程序算法

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
浪-淘-沙
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:2068 积分:4263 威望:5 精华:4 注册:2008/11/13 21:03:00
  发帖心情 Post By:2010/1/30 15:27:00

网上的程序多了,至于源程序,请向作者本人索取。

 

http://www.nongli.com/item3/index.asp

这个帖子中就有由农历由公历的程序。

请自己去试一下。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
xjw01
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 帖子:866 积分:3804 威望:3 精华:20 注册:2008/3/20 22:14:00
  发帖心情 Post By:2010/1/30 17:56:00

A、已知农历求公历,

B、已知公历求农历,

两个问题好象是互朔运算。实际计算其实不完全是这样的,应当说,主要是最后输出数据的时候,是公历还是农历的问题。以寿星为例,最后同时输出公历和农历,无所谓A问题还是B问题。当两个历表同时输出后,利用这两个历表可以用人工查找的方法(也可以用程序查找)角决A问题或B问题。

解决A和B问题,难度几乎完全一样,不管哪个问题,首先都要在内存创建两种历表——公历和农历。公历历表可以用一两个公式表达,农历历表则需要通过天文算法排算得到。

逻辑上分析,一定是这样的。A问题解决了,B问题自然易于解决。返之亦然。

 

B问题的计算过程:

求农历2008年1月十二日的公历

1、计算2008年、2009年的农历,至少要计算两年才可能解所有问题,有时候要计算3年,计算一年只解决部分问题,这个问题在论坛上曾经讨论过。

2、查到2008年1月十二日,读取它的儒略日数

3、再由儒略日数转为公历

 

A问题的计算过程:

求农历2008年1月12日的农历

1、计算2007年、2008年的农历,至少要计算两年才可能解所有问题,有时候要计算3年,计算一年只解决部分问题,这个问题在论坛上曾经讨论过。

2、计算出2008年1月12日的日儒略日数n

3、再由儒略日在2008、2009年的农历快速找到农历日期(比如利用朔日的儒略日与n比对,很快就可找到日期)

 

综上,A、B问题第1步要解决的问题基本一致,只是第2、3步不一样。第1步是最麻烦的一步,也就是说A、B问题涉及的核心问题是一样的(第1步),在日历输出时不一样(第2、3步)

 

 

[此贴子已经被作者于2010-1-30 19:05:54编辑过]

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
hiteyun
  6楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:381 积分:2131 威望:0 精华:0 注册:2009/5/1 23:57:00
  发帖心情 Post By:2014/2/7 16:01:00

以下是引用xjw01在2010-1-30 17:56:00的发言:

A、已知农历求公历,

B、已知公历求农历,

两个问题好象是互朔运算。实际计算其实不完全是这样的,应当说,主要是最后输出数据的时候,是公历还是农历的问题。以寿星为例,最后同时输出公历和农历,无所谓A问题还是B问题。当两个历表同时输出后,利用这两个历表可以用人工查找的方法(也可以用程序查找)角决A问题或B问题。

解决A和B问题,难度几乎完全一样,不管哪个问题,首先都要在内存创建两种历表——公历和农历。公历历表可以用一两个公式表达,农历历表则需要通过天文算法排算得到。

逻辑上分析,一定是这样的。A问题解决了,B问题自然易于解决。返之亦然。

 

B问题的计算过程:

求农历2008年1月十二日的公历

1、计算2008年、2009年的农历,至少要计算两年才可能解所有问题,有时候要计算3年,计算一年只解决部分问题,这个问题在论坛上曾经讨论过。

2、查到2008年1月十二日,读取它的儒略日数

3、再由儒略日数转为公历

 

A问题的计算过程:

求农历2008年1月12日的农历

1、计算2007年、2008年的农历,至少要计算两年才可能解所有问题,有时候要计算3年,计算一年只解决部分问题,这个问题在论坛上曾经讨论过。

2、计算出2008年1月12日的日儒略日数n

3、再由儒略日在2008、2009年的农历快速找到农历日期(比如利用朔日的儒略日与n比对,很快就可找到日期)

 

综上,A、B问题第1步要解决的问题基本一致,只是第2、3步不一样。第1步是最麻烦的一步,也就是说A、B问题涉及的核心问题是一样的(第1步),在日历输出时不一样(第2、3步)

 

 

[此贴子已经被作者于2010-1-30 19:05:54编辑过]

农历日期与公历日期的互换,需要计算2-3年的农历,非常麻烦,产生麻烦是由于现行农历采用“年首起月法”的结果,如果放弃年首起月法,不再预先以某一个特定节气为基准,而改用新的“节气定月法”,就只需计算1个月的农历(或1个月的农历加1-5个月的中气)就行了。

A、已知农历日期求公历日期:
求农历2008年1月12日的公历
1、用星历数据计算包含2008年雨水日的月份朔日及下一个朔日;
2、计算该月包含的节气,用新的“节气定月法”规则判定是否属于“独立基准月”,“是”就进入第4步,如“否”就进入第3步;
3、补充计算其后1-5个月的中气,判定是属于“关联基准月”还是“非基准月”;
4、按“节气定月法”规则确定月份;
5、通过目标月份朔日儒略日数+11得到目标日期儒略日数;
6、转公历日期。

B、已知公历日期求农历日期:
求公历2008年1月12日的农历
1、转为儒略日数;
2、用星历数据计算包含此日期的农历月份朔日及下一个朔日;
3、计算该农历月份包含的节气,用新的“节气定月法”规则判定是否属于“独立基准月”,“是”就进入第5步,如“否”就进入第4步;
4、补充计算其后1-5个月的中气,判定是属于“关联基准月”还是“非基准月”;
5、按“节气定月法”规则确定月份;
6、通过目标日期儒略日数与朔日儒略日数间隔天数得到农历日期。

[此贴子已经被作者于2014-2-8 16:03:50编辑过]

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

怎样由农历日期求公历日期?








签名