儒略日计算公式

By admin in 天文学 on 2019年3月25日

天历史学有一种接二连三纪日的儒略日(JD),它以儒略历公元前4713年十月十二日的创新霉素T正午为第0日的开始。还有一种简化儒略日(MJD):
MJD=JD-2五千00.5 MJD的第0日是从阴历1858年四月1二十六日的克林霉素T零时始于的。

亟待留意:儒略历公元前4713年3月3日相当于农历公元前4713年四月2三日。
儒略日(Julianday)是指由公元前4713年八月二二十一日,协调世界时早上12时启幕所经过的命局,多为天国学家采纳,用以作为天法学的纯净历法,把不相同历法的年表统一起来。
儒略日是一种不用时间的长久纪日法,简写为JD。是由法兰西学者Joseph Justus
Scliger(1540-1609)在1583年所创,那名称是为着纪念他的阿爸——意大利共和国专家JuliusCaesar Scaliger(1484-1558)。

儒略日的源点订在公元前4713年(天文学上记为 -4712
年)1月二1二十五日格林威治时间平午(世界时12:00),即JD 0 钦定为 4713 B.C.
3月217日12:00 UT到4713 B.C. 10月26日12:00
UT的24时辰。每一日赋予了二个唯一的数字,顺数而下,如:一九九七年10月10日12:00:00的儒略日是2450084。这几个日子是考虑了阳光、月亮的周转周期,以及当时纳税的距离而订出来的。Joseph
Scliger定义儒略周期为7980年,是因28、1玖 、15的最小公倍数为28×19×15=7980。个中:
28年为一阳光周期(solar
cycle),经过一阳光周期,则星期的日序与月的日序会重新。
19年为四月亮周期,或称默冬章(Metonic
cycle),因235朔望月=1五遍归年,经过11月亮周期则阴历月年的日序重复。
15年为一小纪(indiction
cycle),此为休斯敦天子君士坦丁(康Stan丁)所颁,每15年考核评议财产价值以供课税,成为古布加勒斯特用的三个世代单位,
故以7980年为一儒略周期,而所选的起源公元前4713年,则是那三个循环周期同时开班的近年来年度。
以儒略日计日是为便宜计算时代相隔久远或差别历法的两轩然大波所间隔的日数。
由于儒略日数字位数太多,国际天经济学生联合会合会于1975年利用简化儒略日(MJD),其定义为
MJD = JD – 2600000.5。MJD相应的起源是1858年二月112日世界时0时。

儒略日的估量 儒略日= K – 32075 + 1461 * (I + 4800 +
(J-14)/12)/4+367*(J-2-(J-14)/12*12)/12-3*((I+4900+(J-14)/12)/100)/4

现把此总括公式整理如下。

比如:2009/1/1转换为 Julian day 应为
2454833 (共7码)

天文学 1天文学 2天文学,Code
/// <summary>
    /// 產生日期的Julian day
    /// </summary>
    /// <param name=”year”>年</param>
    /// <param name=”month”>月</param>
    /// <param name=”day”>日</param>
    /// <returns>Julian day</returns>
    private long julian ( int year, int month, int day )
    {
        long jy = year, jm = month, jd = day;
        if (jy < 0)
        {
            jy = jy + 1;
        }
        if (month > 2)
        {
            jm = jm + 1;
        }
        else
        {
            jm = jm + 13;
            jy = jy – 1;
        }
        long jul = Convert.ToInt64 (Math.Floor (365.25 * jy) + Math.Floor (30.6001 * jm) + jd + 1720995.0);
        if (jy < 1582 && jm < 10 && jd < 15)
        {
            return jul;
        }
        else
        {
            long ja = Convert.ToInt64 (0.01 * jy);
            jul = Convert.ToInt64 (jul + 2 – ja + 0.25 * ja);
            return jul;
        }

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 亚洲必赢手机官网 版权所有