亚洲必赢官网appc# Julian day 儒略日计算公式

By admin in 亚洲必赢官网app on 2018年10月21日

天文学有同等种连续纪日的儒略日(JD),它以儒略历公元前4713年1月1日的GMT正午为第0日之初步。还有同栽简化儒略日(MJD):
MJD=JD-2400000.5 MJD的第0日是起阳历1858年11月17日之GMT零时开始的。

欲注意:儒略历公元前4713年1月1日一定给公历公元前4713年11月24日。
儒略日(Julian
day)是指由公元前4713年1月1日,协调世界时中午12时启幕所经的命运,多吧天文学家采用,用以作为天文学的十足历法,把不同历法的年表统一起来。
儒略日是千篇一律种植不用时间的悠久纪日法,简写为JD。是由法国家Joseph Justus
Scliger(1540-1609)在1583年所创建,这号是为想他的爸——意大利学者Julius
Caesar Scaliger(1484-1558)。

儒略日的起点订在公元前4713年(天文学上记为 -4712
年)1月1日格林威治时间平午(世界经常12:00),即JD 0 指定为 4713 B.C.
1月1日12:00 UT到4713 B.C. 1月2日12:00
UT的24钟头。每一样天与了一个唯一的数字,顺数而下,如:1996年1月1日12:00:00之儒略日是2450084。这个日期是考虑了日光、月亮的周转周期,以及马上纳税的距离而立出去的。Joseph
Scliger定义儒略周期也7980年,是盖28、19、15的最小公倍数为28×19×15=7980。其中:
28年吧同阳光周期(solar
cycle),经过同太阳周期,则星期的日序与月的日序会再次。
19年也平极致阴周期,或称默冬章(Metonic
cycle),因235北望月=19扭归年,经过同顶阴周期则阴历月年的日序重复。
15年啊平小纪(indiction
cycle),此吧罗马九五之尊君士坦丁(Constantine)所发表,每15年考评财产价值为供课税,成为古罗马用的一个世代单位,
故以7980年呢平儒略周期,而所挑选的起点公元前4713年,则是及时三只巡回周期而开始的近年岁。
以儒略日计日是吧便于计算年代相隔久远或不同历法的简单风波所间隔的日数。
由于儒略日数字各项数最好多,国际天文学联合会给1973年应用简化儒略日(MJD),其定义为
MJD = JD – 2400000.5。MJD相应的起点是1858年11月17日世界时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码)

亚洲必赢官网app 1亚洲必赢官网app 2Code
/// <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-2018 亚洲必赢手机官网 版权所有