中华农历论坛知识讨论区历法知识 → [求助] 根据农历日期转换成儒略日值的最简方法


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

主题:[求助] 根据农历日期转换成儒略日值的最简方法

帅哥哟,离线,有人找我吗?
浪-淘-沙
  21楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

以下是引用txwdx在2012-6-21 15:55:00的发言:
 直接拷贝、粘贴到Excel不就好了。
 下载信息  [文件大小:12.8 KB  下载次数:0]

呵呵,你上传的是TXT文件。

我是想要你的EXCEL文件,里面有公式,可以直接计算的。而不是计算后的复制啊。


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


加好友 发短信
等级:职业侠客 帖子:496 积分:2143 威望:0 精华:0 注册:2010/2/16 19:15:00
  发帖心情 Post By:2012/6/21 21:18:00

以下是引用浪-淘-沙在2012-6-21 20:01:00的发言:

呵呵,你上传的是TXT文件。

我是想要你的EXCEL文件,里面有公式,可以直接计算的。而不是计算后的复制啊。

我传的就是excel文件。 你的excel版本太老了吧,我用的是Excel2010
我还专门回拷过去,重新填过公式的。

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


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

以下是引用txwdx在2012-6-21 21:18:00的发言:
我传的就是excel文件。你的excel版本太老了吧,我用的是Excel2010
我还专门回拷过去,重新填过公式的。

2003版。惭愧。


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


加好友 发短信
等级:职业侠客 帖子:496 积分:2143 威望:0 精华:0 注册:2010/2/16 19:15:00
  发帖心情 Post By:2012/6/25 22:38:00


 再重新表述一下
从1912年正月初一甲子(2419451)起算
1、根据年份,估计月数。年数*12.3682671+0.07891,截尾取整,然后加上月份(闰月记前一个月号)。
2、根据月数,估计天数。(月数-1)*29.530588-0.5721,截尾取整,然后加上日期。
3、用干支校正。当日干支序号 减去 天数对60的余(若为0,记作60),得bias;如果bias<0,bias自加60;用天数加上bias,即可得实际天数

ps:
12.3682671=365.2422/29.530588
0.07891=1921年立春所在时刻距离正月初一半夜的时间/29.530588,立春在前为正
-0.5721=1921年正月朔时刻距正月初一半夜的时间,朔时在后为负

1912年春节甲子至2128年除夕癸亥之间(含)的2684个月之朔晦二日,校验无误

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


加好友 发短信
等级:职业侠客 帖子:496 积分:2143 威望:0 精华:0 注册:2010/2/16 19:15:00
  发帖心情 Post By:2012/6/26 18:22:00

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作簿.part01.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作簿.part02.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作簿.part03.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作簿.part04.rar


附件为2003版Excel可读之文件。





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


加好友 发短信
等级:职业侠客 帖子:496 积分:2143 威望:0 精华:0 注册:2010/2/16 19:15:00
  发帖心情 Post By:2012/6/26 20:23:00

再检验至2531年除夕(癸亥),共计620年、7668个月的朔、晦、月中,均无误。

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


加好友 发短信
等级:版主 帖子:2068 积分:4263 威望:5 精华:4 注册:2008/11/13 21:03:00
  发帖心情 Post By: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列求出

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

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


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


加好友 发短信
等级:职业侠客 帖子:496 积分:2143 威望:0 精华:0 注册:2010/2/16 19:15:00
  发帖心情 Post By:2012/6/28 19:46:00

以下是引用浪-淘-沙在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年的两个日期,估计得好几个月。

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


加好友 发短信
等级:职业侠客 帖子:496 积分:2143 威望:0 精华:0 注册:2010/2/16 19:15:00
  发帖心情 Post By:2012/6/28 20:34:00


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

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

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

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


加好友 发短信
等级:职业侠客 帖子:496 积分:2143 威望:0 精华:0 注册:2010/2/16 19:15:00
  发帖心情 Post By:2012/6/28 20:40:00

我提出这个算法,其实不能使农历日期间隔计算变得简单。
毕竟,很少有人能够不翻书就知道农历日期的干支(就像很少有人不翻书就知道某个公历日期是星期几一样)。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
总数 35 上一页 1 2 3 4 下一页

返回版面帖子列表

[求助] 根据农历日期转换成儒略日值的最简方法








签名