中华农历论坛知识讨论区历法知识 → 回复帖子

  回复帖子
用户名:   *您没有注册?
密码:   *忘记论坛密码?    标题采用“回复:XXX....”
主题标题:  *不得超过 200 个汉字
当前心情
上一页 发帖表情 下一页
内容
高级设置: 签名: 回帖通知:
 

主题最新回顾(发布时间:2013/2/6 15:58:00)
--  作者:hiteyun
--  
以下是引用浪-淘-沙在2012-6-28 21:23:00的发言:

我现在明白了。

其实,光知道农历的日期,是无法用简单的方法来推算对应的公历日期(或者说儒略日)。

前提条件是要知道“干支”。

 

不过,记得自己农历生日的人,很少有人记得生日那天的干支的。少数人会去找算命先生排八字,但说来惭愧,我也没记住自己的“八字”呢。虽然我记得自己的农历生日、生日附近的节气(正好是夏至这一天出生的)。但我没能记住干支。

 

既然知道节气,想要儒略日,那太好了。节气就是太阳位置,通过星历数据就能算出时间(儒略日)。


主题最新回顾(发布时间:2012/6/29 19:46:00)
--  作者:txwdx
--  
呵呵,我还真没有说我解决了问题。

前面有人说用干支日脚可以比较简单的转换。我就试了下。的确如此。

主题最新回顾(发布时间:2012/6/29 11:09:00)
--  作者:浪-淘-沙
--  
以下是引用txwdx在2012-6-28 21:43:00的发言:
呵呵。
你都没看表述。
要用干支作矫正啊,不知道干支如何用干支作矫正?

这个问题就是:我去找“半仙”算命,半仙问我生辰八字是什么。

我告诉他,我只记得农历的生日日期,不知道“八字”(其实就是干支历)。

半仙说,没有八字,我算不来命的。呵呵。

 

从楼主提的问题看,他也是问如何用简单方法把农历日期换算成公历日期。

我后来看到你的推算方法,以为找到了解决办法了。

后来从你的公式推导过程,我发现你暂时只解决了一半问题。因为你有个前提是:需要事先知道“干支”日期。

 

当然,你做的这个研究,确实辛苦了。我表示感谢。

 


主题最新回顾(发布时间:2012/6/28 21:43:00)
--  作者:txwdx
--  
以下是引用浪-淘-沙在2012-6-28 21:23:00的发言:

我现在明白了。

其实,光知道农历的日期,是无法用简单的方法来推算对应的公历日期(或者说儒略日)。

前提条件是要知道“干支”。

 

不过,记得自己农历生日的人,很少有人记得生日那天的干支的。少数人会去找算命先生排八字,但说来惭愧,我也没记住自己的“八字”呢。虽然我记得自己的农历生日、生日附近的节气(正好是夏至这一天出生的)。但我没能记住干支。

呵呵。
你都没看表述。
要用干支作矫正啊,不知道干支如何用干支作矫正?

主题最新回顾(发布时间:2012/6/28 21:23:00)
--  作者:浪-淘-沙
--  
以下是引用txwdx在2012-6-28 20:40:00的发言:
我提出这个算法,其实不能使农历日期间隔计算变得简单。
毕竟,很少有人能够不翻书就知道农历日期的干支(就像很少有人不翻书就知道某个公历日期是星期几一样)。

我现在明白了。

其实,光知道农历的日期,是无法用简单的方法来推算对应的公历日期(或者说儒略日)。

前提条件是要知道“干支”。

 

不过,记得自己农历生日的人,很少有人记得生日那天的干支的。少数人会去找算命先生排八字,但说来惭愧,我也没记住自己的“八字”呢。虽然我记得自己的农历生日、生日附近的节气(正好是夏至这一天出生的)。但我没能记住干支。


主题最新回顾(发布时间:2012/6/28 20:40:00)
--  作者:txwdx
--  
我提出这个算法,其实不能使农历日期间隔计算变得简单。
毕竟,很少有人能够不翻书就知道农历日期的干支(就像很少有人不翻书就知道某个公历日期是星期几一样)。

主题最新回顾(发布时间:2012/6/28 20:34:00)
--  作者:txwdx
--  

图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看
 

胡乱输入一个日期的做法如上图。

比如:2036年闰六月初八。在1984的位置输入2036,闰输不输都可以,在9的位置输入5,在0的位置输入7,在第一个27的位置输入34(戊戌)。把楼上说到的几列的公式拉下来即可。

主题最新回顾(发布时间:2012/6/28 19:46:00)
--  作者:txwdx
--  
以下是引用浪-淘-沙在2012-6-27 20:11:00的发言:

感谢上传表格。

 

有个疑问请继续解答:

表格的第E列(朔日期),似乎不是自动计算的。至少我下载的版本是这样的。

---->朔日期当然不是自动计算的,我是从万年历从查询然后转换过去的。实际上朔日期并没有什么作用。只是为了计算任意一个日期的干支(避免查表)。

如果我胡乱输入一个日期,最终无法计算出正确答案。

换句话说,如果我请你计算1984-1985年度(甲子年)的十月初一日对应的公历日期,你的表格无法实现。

也许是我还没理解你的公式的用途吧。

 

但我从表格的几个公式的相关性看到,表格的K列(实际日)与E列(朔日期)是关联的。

K列由H列、J列求出

J列由G列、I列求出

G列由F列求出---->这里的干支其实应该是个常数。只不过我用了计算的方法得到,仅此而已。当然,这个也可以通过“将干支替换为编号”的方式换算得来。只不过,工作量稍微大些。

F列由E列求出

所以如果不知道朔日的公历日期,其实是无法进行后续的计算的。---->不需要知道朔日的公历日期。直接将干支换算成序号即可。

但如果已经知道公历日期了,后面的计算似乎也是没有必要的。因为我们就是要计算朔日的公历日期。

--->你要校验,其实很简单,在最后面的空行里,输入农历年月日干支,比如在A2686输入"1984"、在C2686输入"9"(月份号-1)、在N2686输入"0"(日期-1)、在P2686输入"27"(辛卯干支序,从0开始),并把D、Q、R、S、T的公式拉下来。得出实际日。

然后用手工加上2419451。和万年历上的儒略日对比即可。

之所以要用流水日计算干支,是为了避免翻历书。 毕竟,翻历书是没办法进行大数量的日期校验的。 呵呵,要是翻历书,我校验630年的两个日期,估计得好几个月。

主题最新回顾(发布时间:2012/6/27 20:11:00)
--  作者:浪-淘-沙
--  
以下是引用txwdx在2012-6-26 20:23:00的发言:
再检验至2531年除夕(癸亥),共计620年、7668个月的朔、晦、月中,均无误。

感谢上传表格。

 

有个疑问请继续解答:

表格的第E列(朔日期),似乎不是自动计算的。至少我下载的版本是这样的。

 

如果我胡乱输入一个日期,最终无法计算出正确答案。

换句话说,如果我请你计算1984-1985年度(甲子年)的十月初一日对应的公历日期,你的表格无法实现。

也许是我还没理解你的公式的用途吧。

 

但我从表格的几个公式的相关性看到,表格的K列(实际日)与E列(朔日期)是关联的。

K列由H列、J列求出

J列由G列、I列求出

G列由F列求出

F列由E列求出

所以如果不知道朔日的公历日期,其实是无法进行后续的计算的。

但如果已经知道公历日期了,后面的计算似乎也是没有必要的。因为我们就是要计算朔日的公历日期。


主题最新回顾(发布时间:2012/6/26 20:23:00)
--  作者:txwdx
--  
再检验至2531年除夕(癸亥),共计620年、7668个月的朔、晦、月中,均无误。