找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 847|回复: 10

[求助] 阴历阳历转换计算公式,_农历月份是如何计算?

[复制链接]

已领礼包: 6881个

财富等级: 富甲天下

发表于 2021-3-10 13:51:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阴历阳历转换计算公式,_农历月份是如何计算?
求农历月份是如何计算?
由于 Gxl 大师的农历数据到 2021 就无法用了
所以想学着试试能不能自己算出日期的农历

网上的方法
阳历日期推算阴历日期的方法:
其二可以利用公式推算阴历日期:
设:公元年数-1977(或1901)=4Q+R
则:阴历日期=14Q+10.6(R+1)+年内日期序数-29.5n
(注:式中Q、R、n均为自然数,R<4)
例:1994年5月7日的阴历日期为:
1994-1977=17=4×4+1
故:Q=4,R=1
则:5月7日的阴历日期为:
14×4+10.6(1+1)+(31+28+31+31+7)-29.5n
=204.2- 29.5n
然后用29.5去除204.2得商数6......27.2,6即是n值,余数27即是阴历二十七日。

试算

20210309 本年包括本日在内已过 68 天
20210309 本年包括本日在内已过 68 天
(/ 232.6 29.5) = 7.88475
(rem 232.6 29.5) = 26.1

结果是农历 26 ,正确
但上面没说月份是如何计算?

请教各位大师,农历的月数如何求出?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1个

财富等级: 恭喜发财

发表于 2021-3-10 15:17:07 | 显示全部楼层
本帖最后由 whw0000 于 2021-3-10 15:19 编辑

直接跑离线数据吧。网上发现的一个项目——
https:@@github.com@infinet@lunar-calendar
“@”替换成斜线“/”
香港天文台为公众提供了从 1901 年到 2100 年间两百年的农历-公历对照表,也就是这里用到的数据。
超出 1901-2100 的农历数据使用 VSOP87 行星理论和 LEA-406 月球理论生成。以香港天文台的数据(更新于 2014 年)为标准,用此法生成的 1949 到 2100 年间农历有两处不一致:
1)1979-01-20 大寒
2)2057-09-29 农历九月全部日期错位一天
不一致的原因在于上面两处节气及新月正好跨越午夜时分,差距数秒就能影响该节气或新月的发生日期。由于使用不同的行星位置计算方法和 Delta T 估算方法,出现这种差异在所难免。

这只是一家之言,gayhub 上应该还有别的类似项目,可以参考看看。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6881个

财富等级: 富甲天下

 楼主| 发表于 2021-3-10 15:53:05 | 显示全部楼层
有没有个半自动的办法,例如让用户输入
正月一日,具体是公历的那一天,再来计算出本年以后的农历?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2021-3-11 00:24:31 | 显示全部楼层
不错,学习了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 914个

财富等级: 财运亨通

发表于 2021-3-11 07:56:26 | 显示全部楼层
还能这样!太厉害了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 375个

财富等级: 日进斗金

发表于 2021-3-11 10:09:44 | 显示全部楼层
感谢楼主分享学习!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4365个

财富等级: 富可敌国

发表于 2021-3-12 07:56:12 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 49个

财富等级: 招财进宝

发表于 2021-3-12 13:06:26 | 显示全部楼层
这个功能有意思
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

发表于 2021-4-22 07:49:53 | 显示全部楼层
學習了 感謝大家的分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2021-4-24 20:25:08 | 显示全部楼层
本帖最后由 aeo 于 2021-4-24 20:50 编辑

  1. ; 1901年~2100年的阴历数据
  2. ;第一个数据"19010219" 表示1901 大年初一为阳历0219
  3. ;第二个数"000100000100010001010100" 每两个数字表示一个月
  4. ;     00为29天,01为30天,10为闰月的29天,11为闰月的30天. 有闰月的年为13个月
  5. ;计算: 要求的阳历 - 当年的第一个数 就表示已经过了的天数,根据月的天数,推出是哪个月
  6. (setq yinliData '(
  7. ("19010219" "000100000100010001010100")("19020208" "010001000001000100010101")
  8. ("19030129" "00010001001001000001010001")("19040216" "010100010000010000010100")
  9. ("19050204" "010100010100000100010001")("19060125" "00010100110001000100010001")
  10. ("19070213" "000100010001010001000100")("19080202" "010000010100010001010001")
  11. ("19090122" "00011000010001000101010001")("19100210" "000100000100010001010100")
  12. ("19110130" "01000100000110000101000101")("19120218" "010001000001000001010001")
  13. ("19130206" "010100010000010000010001")("19140126" "01010001001100010000010001")
  14. ("19150214" "010001010001000100010000")("19160203" "010100010001010001000100")
  15. ("19170123" "01001001000101000101000100")("19180211" "010000010001000101000101")
  16. ("19190201" "00010000010000110100010101")("19200220" "000100000100000100010101")
  17. ("19210208" "010001000001000001000101")("19220128" "01000101001001000001000101")
  18. ("19230216" "000101000100010000010001")("19240205" "000101000101000100010000")
  19. ("19250124" "01000100110100010100010001")("19260213" "000001000100010100010100")
  20. ("19270202" "010000010001000100010101")("19280123" "00011000010000010001010101")
  21. ("19290210" "000100000100000100010101")("19300130" "00010100000110000100010100")
  22. ("19310217" "010100010001000001000100")("19320206" "010101000100010000010001")
  23. ("19330126" "00010100011100010001000001")("19340214" "000100010100010001010001")
  24. ("19350204" "000001000100010100010100")("19360124" "01000011000001010001010100")
  25. ("19370211" "010000010000010001010100")("19380131" "01010000010000110001010001")
  26. ("19390219" "010100000100000100010001")("19400208" "010100010001000001000100")
  27. ("19410127" "01010001010011000001000100")("19420215" "010001010001000100010001")
  28. ("19430205" "000100010001010001000100")("19440125" "01000100110001000101000101")
  29. ("19450213" "000001000001000101010001")("19460202" "010000010000010001010001")
  30. ("19470122" "01011000010000010001000101")("19480210" "010001000100000100010001")
  31. ("19490129" "01000101000100100100010001")("19500217" "000101000101000001000100")
  32. ("19510206" "010001010001000100010001")("19520127" "00010001001100010100010001")
  33. ("19530214" "000100000101000101000100")("19540203" "010001000001000101000101")
  34. ("19550124" "00010011000001000100010101")("19560212" "000100010000010001000101")
  35. ("19570131" "01000100010000011001000100")("19580218" "010101000100000100010001")
  36. ("19590208" "000101000100010001000100")("19600128" "01000100010110010001000100")
  37. ("19610215" "010001000100010100010001")("19620205" "000100000100010100010100")
  38. ("19630125" "01000100100100010001010100")("19640213" "010001000001000100010101")
  39. ("19650202" "000100010000010000010100")("19660121" "01010110010000010000010100")
  40. ("19670209" "010100010100000100010001")("19680130" "00010001010001100100010001")
  41. ("19690217" "000100010001010001000100")("19700206" "010000010001010001010001")
  42. ("19710127" "00010000011001000101010001")("19720215" "000100000100010001010001")
  43. ("19730203" "010001000001000001010001")("19740123" "01010001100001000001010001")
  44. ("19750211" "010100010000010000010001")("19760131" "01010001000100011000010001")
  45. ("19770218" "010001010001000100010000")("19780207" "010001010001010001000100")
  46. ("19790128" "01000001000111000101000100")("19800216" "010000010001000101000101")
  47. ("19810205" "000100000100000101000101")("19820125" "01000100100100000100010101")
  48. ("19830213" "010001000001000001000101")("19840202" "01000101000001000001100101")
  49. ("19850220" "000101000100010000010001")("19860209" "000101000101000100010000")
  50. ("19870129" "01000100010110010100010000")("19880217" "010001000100010100010100")
  51. ("19890206" "010000010001000100010101")("19900127" "00010000011000010001010101")
  52. ("19910215" "000100000100000100010101")("19920204" "000101000001000001000101")
  53. ("19930123" "00010110010001000001000100")("19940210" "010101000100010000010001")
  54. ("19950131" "00010100010001011000010001")("19960219" "000100010100010001010000")
  55. ("19970207" "010001000100010100010100")("19980128" "01000001001001010001010001")
  56. ("19990216" "010000010000010001010100")("20000205" "010100000100000100010100")
  57. ("20010124" "01010001100100000100010001")("20020212" "010100010001000001000100")
  58. ("20030201" "010100010100010000010001")("20040122" "00011001010001000100010001")
  59. ("20050209" "000100010001010001000100")("20060129" "01000100010001100101000101")
  60. ("20070218" "000001000001000101010001")("20080207" "010000010000010001010001")
  61. ("20090126" "01010000011000010001000101")("20100214" "010001000100000100010001")
  62. ("20110203" "010001010001000001000100")("20120123" "01000101100100010001000100")
  63. ("20130210" "010001000101000100010001")("20140131" "00010001000100010110010001")
  64. ("20150219" "000100000100010101000100")("20160208" "010001000001000101000101")
  65. ("20170128" "00010001000011000100010101")("20180216" "000100010000010001000101")
  66. ("20190205" "010001000100000100000101")("20200125" "00010101100100000100010001")
  67. ("20210212" "000101000100010001000100")("20220201" "010001000101000100010001")
  68. ("20230122" "00011000010100010100010001")("20240210" "000100000100010100010100")
  69. ("20250129" "01000100000110010001010100")("20260217" "010001000001000001010100")
  70. ("20270206" "010100010000010000010100")("20280126" "01010100011000010000010100")
  71. ("20290213" "010100010001000100000101")("20300203" "000100010100010001000100")
  72. ("20310123" "00010110010001010001000100")("20320211" "010000010001010001010001")
  73. ("20330131" "00010000010001000101011001")("20340219" "000100000100010001010001")
  74. ("20350208" "010001000001000001010001")("20360128" "01010001000011000001000101")
  75. ("20370215" "010100010000010000010001")("20380204" "010100010001000100000100")
  76. ("20390124" "01010001011001000100010000")("20400212" "010001010001000101000100")
  77. ("20410201" "000100010001010001010001")("20420122" "00011000010001000101000101")
  78. ("20430210" "000100000100000101000101")("20440130" "01000100000100100100010101")
  79. ("20450217" "010001000001000001000101")("20460206" "010001000100010000010001")
  80. ("20470126" "01000101001100010000010001")("20480214" "000101000101000100000100")
  81. ("20490202" "010001000101000101000100")("20500123" "00010011000100010100010100")
  82. ("20510211" "010000010000010100010101")("20520201" "00010000010000011001010101")
  83. ("20530219" "000100000100000100010101")("20540208" "000101000001000001000101")
  84. ("20550128" "00010100010011000001000100")("20560215" "010101000100010000010001")
  85. ("20570204" "000101000100010001000100")("20580124" "01000100110001010001010000")
  86. ("20590212" "010001000100010001010100")("20600202" "010000010000010001010100")
  87. ("20610121" "01010010010000010001010100")("20620209" "010100000100000100010100")
  88. ("20630129" "01010001000100100100010001")("20640217" "010100010001000001000100")
  89. ("20650205" "010100010100010000010001")("20660126" "00010001011001000100010001")
  90. ("20670214" "000100010001010001000100")("20680203" "010001000001010001010001")
  91. ("20690123" "00010001100001000101010001")("20700211" "000100010000010001010001")
  92. ("20710131" "01000100010000011001000101")("20720219" "010001000100000100010001")
  93. ("20730207" "010001010001000001000100")("20740127" "01000101000110010001000100")
  94. ("20750215" "010001000101000100010001")("20760205" "000100010001000101000100")
  95. ("20770124" "01000100100100010101000100")("20780212" "010001000001000101000101")
  96. ("20790202" "000100010000010001000101")("20800122" "01000110010000010000010101")
  97. ("20810209" "000101000100000100000101")("20820129" "00010101000001100100000101")
  98. ("20830217" "000101000100010001000100")("20840206" "010001000101000100010001")
  99. ("20850126" "00010000011100010100010001")("20860214" "000100000100010100010100")
  100. ("20870203" "010001000001000100010101")("20880124" "00010001100001000001010100")
  101. ("20890210" "010100010000000100010100")("20900130" "01010100010000011000010100")
  102. ("20910218" "010100010001000100000100")("20920207" "010100010100010001000100")
  103. ("20930127" "00010100010011010001000100")("20940215" "000100010001010001010001")
  104. ("20950205" "000100000100010001010100")("20960125" "01000100100100000101010001")
  105. ("20970212" "010001000000010001010001")("20980201" "010100010000000100010001")
  106. ("20990121" "01011001010000010000010001")("21000209" "010100010001000100000100")
  107. ))

点评

请版主来个实例 例如今天的公历转农历? 2021 4 27 谢谢  详情 回复 发表于 2021-4-27 14:54
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6881个

财富等级: 富甲天下

 楼主| 发表于 2021-4-27 14:54:21 | 显示全部楼层

请版主来个实例
例如今天的公历转农历?
2021 4 27
谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-6-28 23:26 , Processed in 0.475510 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表