农历吧 关注:1,246贴子:27,299

有些人说2891年12月21日

只看楼主收藏回复

有些人说2891年12月21日冬至,我真的看不懂。其实你们可以翻一翻2887,2895年的日历,都是12月22日冬至,而冬至日期的判定其实并不是很复杂,我们可以举一个19 84年,前两位19÷4 余3,余数最大,证明从1600年到1999年这400年中,1900年到1999年,冬至日期相对来说最晚,如果拿1604年和1904年冬至进行比较,1604年冬至要么和1904年相同,要么提前。如果前两位余数越小,则相对来说早一些,然后再用后面两位84÷4,余0,说明1984年冬至和1985,1986,1987年比,最不济是同一天,也有可能早一天,而1984,1985,1986,1987年恰好都是12月22日冬至,但是1988年就12月21日冬至了,其后的1992,1996年也都是21日冬至,所以一旦这个100年中有一年冬至提前了一天,再往后4年的冬至不可能再回到原来那一天。所以总结来说,一个世纪里,冬至日期会随着后面两位数的变大而提前,但绝对不会推后。同理来看,2887,2895年12月22日冬至,那2891年必然是22日冬至。然后2891年11月23日到12月21日没有中气,2892年1月21日到2月18日也没有中气,但是2891年11月23日置闰并不会让冬至落在十月,相反,如果不置闰,12月22日将会是农历腊月初一,这是绝对不允许的,所以2891年只能闰十月不能闰腊月,同理还有2986年。我不知道为什么百度上搜闰腊月还有2891和2986,希望好心吧友把百度上的那个改过来,谢谢大家!


IP属地:江苏来自Android客户端1楼2017-08-29 08:51回复
    按《寿星天文历》的推算,2891年12月22日定冬至 01:54:27。
    至于其它网络上的数据,推算用的星历表不同,推算得到数据也就不尽相同。想要一一改正过来,也是很难的。
    另外,楼主所引的验证冬至日期的方法,似乎也未必管用的。
    冬至交节时刻,有时会落在凌晨0:00:00前后几秒钟之内,你用平均值来推算,可能日期会有一天的差别(实际可能也只是差几秒钟而已)。


    IP属地:浙江2楼2017-08-30 19:12
    收起回复
      《寿星天文历》24节气的交节时刻都是采用天文星历表进行计算的,计算过程很复杂。
      不是你用的这种简单方法拟合的。
      如果你觉得你的拟合方法真的管用,我也不想多找反例来驳你。
      就请你算一下,2050年的冬至是几月几日几点几分?


      IP属地:浙江3楼2017-08-30 21:47
      回复
        《寿星天文历》1951年12月23日定冬至 00:00:01,
        交节时刻正好在0:00,只要计算误差大于2秒,就可能把日期提前到12月22日。
        所以我要说没有精密的星历表,仅仅采用简单的平均值,很难把节气日期算对的。
        就算楼主用自己的简单方法算对了1000个冬至的日期,也难保第1001就一定是对的。
        现在的农历采用定气规则,相邻两个冬至的间距不会正好等于回归年的平均值,前后可有几分钟偏差。
        当交节时刻在0:00附近时,采用平均值得出来的日期,与实际精确计算的结果相差一天也是有的。


        IP属地:浙江4楼2017-08-30 22:01
        收起回复
          冬至日期(东八区)的计算公式:(YD+C)-L
          公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=21.94,20世纪=22.60。
          举例说明:2088年冬至日期=[88×0.2422+21.94]-[88/4]=43-22=21,12月21日冬至。
          例外:1918年和2021年的计算结果减1日。
          我想知道这公式是谁得出来的,简直有毒,2088年12月21日冬至,为什么到2091年就变22日了,按他的公式还是21


          IP属地:江苏来自Android客户端5楼2017-08-30 22:10
          收起回复
            2088年12月21日定冬至 05:55:38
            2091年12月21日定冬至 23:38:02
            确实不是22日,你再查一下问题的原因。
            ********************
            至于2021年,12月21日定冬至 23:59:09。也就是我前面提到过的跨“0点”附近的节气时刻,简单算法就可能偏差一天(实际偏差可能仅仅一、二分钟吧。
            这个也就是你说的反例了。
            *******************************
            2020年12月21日定冬至 18:02:12,如果只是简单利用“回归年的平均值”,(你公式中的0.2422,这个就是回归年长度365天的尾数),那么得到的2021年冬至为12月22日0:00:58(但《寿星天文历》计算结果为21日23:59:09)。
            而实际上,冬至时刻的间距,并不正好等于回归年平均值,偏差几分钟很常见。
            ************
            附:上述数据引自《寿星天文历》


            IP属地:浙江6楼2017-08-31 10:32
            回复
              解读5楼的公式:
              冬至日期(东八区)的计算公式:(YD+C)-L
              公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=21.94,20世纪=22.60。
              ********************************
              其实,所谓的“世纪常数21世纪C=21.94,与2000年当年的冬至时刻相关。
              定冬至2000年12月21日21:37:26,所以常数为21.90。
              楼主给的值为21.94,偏差57分钟。
              *
              20世纪常数C=22.60.
              定冬至1900年12月22日14:41:34,常数为22.6122。
              楼主给的值为22.60,偏差17分钟,在日期跨0:00前后,往往就会有一天的差值。


              IP属地:浙江7楼2017-08-31 10:59
              收起回复
                另外要提示一下的就是5楼的公式,已经”不简单“了。
                为了提高计算的正确率,公式里要求每个世纪都有一个常数。(这个常数,是需要强记的,要不然,无法计算了。)
                也就是要求知道每个世纪初年的冬至时刻是已知的。
                然后使用回归年的平均值365.2422天来推算下一年(未来99年)的冬至时刻。
                当冬至时刻正好在0:00附近时,容易出现”一天“的偏差。


                IP属地:浙江8楼2017-08-31 12:04
                回复
                  好吧,我没有去翻2091的日历,罪过,不过为啥2087年还是22日冬至,按你的新公式(87×0.2422+21.90)-87÷4=21.2214,为啥实际在22日。这回我肯定翻了日历了


                  IP属地:江苏来自Android客户端9楼2017-08-31 13:26
                  收起回复
                    我大概懂了一点,但是反例确实不存在,因为2021年是21日冬至,在这个世纪之内,2025,2029一直到2097年,冬至都在21日,不存在说又回到今年这样22日冬至的


                    IP属地:江苏来自Android客户端10楼2017-08-31 13:34
                    收起回复
                      87× 0.2422+21.90=42.97,87÷4=21.75,为啥最后会是43-21取的22,这个地方搞不懂


                      IP属地:江苏来自Android客户端11楼2017-08-31 14:04
                      收起回复
                        通过前面几楼的计算分析,要想简单地找个“常数”,计算一个世纪内的所有冬至日期,且保证每个冬至日期都不出现偏差。
                        这个难度很高。
                        原因还是在前面提到过的:
                        回归年的平均值:365.2422,这是多年的平均值 。不是某个特定的相邻冬至时刻的间隔长度。
                        所以利用“简单公式”来计算冬至日期,作定性分析,是有价值的。
                        但若想用“简单”公式来推算精确的冬至日期,未必真的管用。除非不在意“一天的误差”。


                        IP属地:浙江12楼2017-08-31 15:24
                        收起回复
                          我还发现了一个东西,其实2096年作为2000到2399年中冬至最早的一年,其实没有1696年早,同理,2096年冬至也比2496年,2896年早,但是2896年的冬至比3296年晚了,然后后面的冬至就越来越早,为啥29世纪到32世纪冬至时间会最晚呢?


                          IP属地:江苏来自Android客户端13楼2017-08-31 16:43
                          回复(2)
                            愛卟离手i: 回复 中华农历网 :对,就是时间不同,而且后面变早的时候速度越来越快,到4896年已经进入12月20日大关了
                            *****************
                            这个也是有原因的。
                            现行西历历法规则,是4年1闰,400年97闰。与回归年相比,近期的精密度还是不错的。
                            但如果把时限扩展到几千年,则累积误差也是不小的。
                            大约3000年累积一天。即3000年,多闰了一天。应当减去。
                            所以你把《寿星》的日期翻到了公元4896年,也即约3千年后,冬至日期提前一天,很正常了。
                            ******************
                            若再继续往后翻看《寿星》,则冬至日期还在提前。
                            这里的问题,不仅仅是”西历“闰法问题。还有《寿星》软件的本身的计算精度问题了。
                            理论上讲,《寿星》的计算精度在上下3000年,即公元前1000年到公元5000年之间的6千年内,误差还是可以接受的。
                            出了这个范围,误差的放大相当于几何级数增长。计算出来的数据,偏差会超过你的想像。
                            ******************
                            你试着查一下,公元5000年后,到公元10000年的日历,就会发现问题了。
                            *********************


                            IP属地:浙江14楼2017-08-31 17:40
                            收起回复
                              接14楼。
                              为何会出现这种情况呢?
                              原来《寿星》的星历表,拟合DE405/406,范围就是上下3千年。
                              这之外的年限,越久远,则误差越大。到最后,得出的数据,可能无法使用。


                              IP属地:浙江15楼2017-08-31 17:47
                              回复