注册找回密码

QQ登录

只需一步,快速开始

查看: 2092|回复: 0

【儒略日之】年内序日数算法

[复制链接]
发表于 2015-12-4 08:59:28 | 显示全部楼层 |阅读模式
本帖最后由 七秩龄童 于 2015-12-4 14:08 编辑

    【儒略日之】年内序日数算法
                                    (所标日期属本年内的第几天公式求法?)
                                                                  
      年内序日实际可分为三项内容,一是所求月份的天数,二是所求月份前整月数的天数,三是当年2月份不闰扣2天、或当闰扣1天的情形,分述如下:
     1、若所求日期在M月D日,便有M月的N1天数为本年积日数内容,故如求某月M 月N1 =27日共积天数,首先含本月积日天数N1 = D = 27;
     2、月份零天前整月份的天数N2,可由下式算之:
           N2 = INT(275M/9)- 30 (天)
     式中INT(X)示只取数“X”下整数值,如:INT(5.02) = 5,等,注意:为便于“构造”算式,其1、3、5、7、8、10、12月按月30天,2月份则按月30天设计;于是,按所求月份 M 可由下表取数:
      所求M月D日零天前整月(2月按30天算)天数N2 算天表
月名
1
2
3
4
5
6
7
8
9
10
11
12
算天
0
31
61
92
122
153
183
214
245
275
306
336
      3、以上结果,是令2月为30天设计的,实际遇闰年2月29天,平年28天,故应于公式中用下式减去该减的天数:
              N 3= -K •INT[(M+9)/12]:
      式中平年K=2,N3= -2 ,
      闰年K=1,N3= -1 ,
      由本式,当月份M=3至12月,整除式均得1,即平年减2,闰年减1天,如所标示日期在1、2月,由N3=0。
由以上巧妙设计,综合之,可得所求标示日期在本年内的另星积日天数:
                 N N 1+ N 2+ N 3= D 1+ INT(275M/9)- 30-K •INT[(M+9)/12]
                 = INT(275M/9)-K •INT[(M+9)/12] +D 1- 30
    例算:
    例算1:求1978年11月14日年内另天天数:
    本年平年 K=2,M = 11, D 1 = 14, K = 2代入,得 N = 318
    例算2:求 1988年4月22日年内另天天数
    本年闰年 K=1, M = 4, D 1 = 22,K = 1代入,得 N = 113。
       例算 3求1921年7月1日年内另天天数?解:1921年平年,2月28天,按上述算式程式用心算,闰年:- 2,7月1日:+1天;因  1、3 、5月31天,6个整月:+ 183天,D = -2+1+183 =182(天)
       年内序日数公式能够准确求出本年所求日期的积日天数,其意义除提供算式外,主要意义是提供计算方法,为心算提供思路,若手头带着纸笔、算盘或计算器,用心算方法求年内积日天数,简明易学。
国学复兴 文化传承 兼容并包 百家争鸣
回复
分享到:

使用道具 举报

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

本版积分规则


返回顶部